sc_error_message

Boa tarde!

Tenho uma macro sc_error_message.

Da seguinte forma:

$nl 		= substr({NotaLancamento}, 4, 2);
$nl_ano 	= substr({NotaLancamento}, 0, 4);
$nl_numero 	= substr({NotaLancamento}, 6, 5);


$obs 		= "$nl_ano$nl$nl_numero";



if ($nl != 'nl' || $nl_numero == '00000' || $nl_numero == '' || empty($nl_numero) || $nl_numero == 'xxxxx' || $ano_nl == 'xxxx' || empty($nl) || empty($nl_ano) || $nl == 'xx' || $nl == '' || $nl_ano =='' || $nl_ano == '0000' || $nl_ano <= '1995' || $nl == ''){
	[b]sc_error_message("O padrão de preenchimento da NL está errado $obs. Utilize anoNLnúmero. Ex: 2018NL00001.");[/b]
	echo '<br>';
	echo "e";
	}else{
	echo "c";
	}

Porém o erro aparece na e depois de um certo tempo ele apaga em baixo do campo.

Preciso que ele fique mais tempo na tela, para a pessoa conseguir ler e enteder.

Ou que fique direto, so apague quando a pessoa digitar o certo e sumir o erro.

Espero que lhe ajude.

$javascript_title = 'ATENÇÃO ! ’ ; // Javascript message title
$javascript_message = ’ O padrão de preenchimento da NL está errado $obs. Utilize anoNLnúmero. Ex: 2018NL00001. ’ . "alguma variavel $mensahr " . ‘
’ . ’ Certinho ? '; // Javascript message contents

// Display javascript message
sc_ajax_message($javascript_message, $javascript_title);

Bom dia…

Fiz algumas alterações conforme solicitação…

Porém, estou fazendo isso no Evento Ajax (onChange).


$nl 		= substr({NotaLancamento}, 4, 2);
$nl_ano 	= substr({NotaLancamento}, 0, 4);
$nl_numero 	= substr({NotaLancamento}, 6, 5);

$obs 		= "$nl_ano$nl$nl_numero";

if ($nl != 'NL' || $nl_numero == '00000' || $nl_numero == '' || empty($nl_numero) || $nl_numero == 'xxxxx' || $nl_ano == 'xxxx' || empty($nl) || empty($nl_ano) || $nl == 'xx' || $nl == '' || $nl_ano =='' || $nl_ano == '0000' || $nl_ano <= '1995' || $nl == ''){
	
sc_error_message("");	
$javascript_title   = 'ATENÇÃO ! ' ;       // Javascript message title
$javascript_message = '<font size="3"> O padrão digitado '. '<strong>' . $obs .'</strong>'. ' da NL está errado. Utilize anoNLnúmero. Ex: 2018NL00001. ' . '</font>';  // Javascript message contents
// Display javascript message
sc_ajax_message($javascript_message, $javascript_title);		
	echo '<br>';
	echo "e";
	}else{
	echo "c";
	}

Ai o que acontece, a mensagem aparece de boa. Ficou muito bom, mais eu coloquei o “sc_error_message(”");" vazio, só que ele NÂO impede de inserir o padrão digitado mesmo estando errado, e campo fica pintado de vermelho.

coloquei o mesmo codigo no OnBeforeInsert

Para bloquear ai ele aparece a mensagem novamente, ficou meio que aparecendo a mensagem no no ajax e depois na hora de inserir…Sendo que eu ja queria bloquear no Ajax para a pessoa ver o erro e arrumar e não ter que clicar no incluir.

Será que tem como resolver?

OnBeforeInsert

[code]

$nl = substr({NotaLancamento}, 4, 2);
$ano_nl = substr({NotaLancamento}, 0, 4);
$nl_numero = substr({NotaLancamento}, 6, 5);

if ($nl != ‘NL’ || $nl_numero == ‘00000’ || $nl_numero == ‘’ || empty($nl_numero) || $nl_numero == ‘xxxxx’|| $ano_nl == ‘xxxx’ || empty($nl) || empty($ano_nl) || $nl == ‘xx’ || $nl == ‘’ || $ano_nl ==’’ || $ano_nl == ‘0000’ || $ano_nl <= ‘1995’ || $nl == ‘’ ){
sc_error_message(“O padrão de preenchimento da NL está errado. Utilize anoNLnúmero. Ex: 2018NL00001.”);

}[/code]

Não sei se me comprendeu.


erro1.jpg