Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

vagner.oliveira

Mostrar mensagem de erro na mesma página

Recommended Posts

Vagner.oliveira,Faça em JavaScript, não é difícil e é muito mais rápido, pois não precisa chamar uma página toda vez para verificar o valor dos campos. Em JScript a validação é instantênea. EEu tenho aqui funções em JavaScript para validar CPF, CNPJ, campos de e-mail, etc... mande-me o nome ou outros atributos dos campos que você quer validar que monto um script pra você rapidamente. Posso colocar comentários para te ajudar a entender melhor...Preciso do nome do FORM, e dos campos INPUT que você quer validar...Abraços e boa sorte!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Vagner.oliveira,Faça em JavaScript, não é difícil e é muito mais rápido, pois não precisa chamar uma página toda vez para verificar o valor dos campos. Em JScript a validação é instantênea. EEu tenho aqui funções em JavaScript para validar CPF, CNPJ, campos de e-mail, etc... mande-me o nome ou outros atributos dos campos que você quer validar que monto um script pra você rapidamente. Posso colocar comentários para te ajudar a entender melhor...Preciso do nome do FORM, e dos campos INPUT que você quer validar...Abraços e boa sorte!

nome do form "form1"campo e-mail = observacaocampo CPF = numeroInscricao

Compartilhar este post


Link para o post
Compartilhar em outros sites

Vagner.oliveira,

Bom, o código ficou meio grandinho, mas testei várias vezes e está funcionando corretamente. Mesmo assim, se der algum problema me avise que eu ou outro membro do fórum podemos ajeitar para você, ok?

 

Antes de inserir o código terei que fazer algumas considerações:

 

1 - Em sua tag FORM, insira:

onSubmit="return validar()"

Exemplo: <FORM NAME="form1" ACTION="minhapagina.asp" METHOD="post" onSubmit="return validar()">

 

isso irá chamar a função validar(), que fiz em JavaScript.

 

2 - O código JavaScript a seguir deverá ficar entre as tags HEAD e /HEAD, para ser carregado mais rapidamente, antes do conteúdo da página ser exibido.

 

3 - O campo para inserção do CPF só deve conter números. Nada de hífen, ponto, barras, etc, senão o scritp não irá funcionar. O ideal seria você inserir a instrução MAXLENGTH="11" em sua tag "INPUT, name=numeroInscricao".

 

4 - Substitua as primeiras letras do código (&alt;) por <, pois o fórum tenta evitar a inserção de códigos que possam mudar suas páginas. Eles alteram isso automaticamente, mas é só você corrigir.

 

O código é o seguinte:

 

<script language=JavaScript><!--//A função validar é responsável por verificar o conteúdo de todos os//campos INPUT de sua páginafunction validar() {//VERIFICANDO SE O CAMPO "observacao" ESTA PREENCHIDO//Se não estiver, irá aparecer uma caixa de alerta	if (document.form1.observacao.value == ""){		alert("Por favor, digite seu e-mail!");		document.form1.observacao.focus();		return false;	}	else {		//Verificando se existe @ no e-mail inserido. Se não existir		//o valor retornado será -1		if (document.form1.observacao.value.indexOf("@",0)==-1) {			alert("Digite seu e-mail corretamente!");			document.form1.observacao.select();			return false;		}	}//Verificando se o campo "numeroInscricao" está vazio//Se estiver, irá aparecer uma caixa de alerta:	if (document.form1.numeroInscricao.value == ""){		alert("Por favor, digite o número do seu CPF!");		document.form1.numeroInscricao.focus();		return false;	}	//Se o campo não estiver vazio, devemos avaliar se o CPF é válido	else {		var tudo = document.form1.numeroInscricao.value;		var n1 = tudo.charAt(0,1);		var n2 = tudo.charAt(1,2);		var n3 = tudo.charAt(2,3);		var n4 = tudo.charAt(3,4);		var n5 = tudo.charAt(4,5);		var n6 = tudo.charAt(5,6);		var n7 = tudo.charAt(6,7);		var n8 = tudo.charAt(7,8);		var n9 = tudo.charAt(8,9);			var soma1 = eval((n1*10)+(n2*9)+(n3*8)+(n4*7)+(n5*6)+(n6*5)+(n7*4)+(n8*3)+(n9*2));		var div1 = eval(soma1%11);						if (div1 >= 2) {				var n10 = eval(11-div1);			}			else {				var n10 = "0"			}			var soma2 = eval((n1*11)+(n2*10)+(n3*9)+(n4*8)+(n5*7)+(n6*6)+(n7*5)+(n8*4)+(n9*3)+(n10*2));		var div2 = eval(soma2%11);						if (div2 >= 2) {				var n11 = eval (11-div2);			}			else {				var n11 = "0";			}		//Verificando se os dois últimos números correspondem a n10 e n11		if (tudo.charAt(9,10) != n10 || tudo.charAt(10,11) != n11) {		alert("O número do CPF é inválido!\nVerifique seu CPF e digite-o novamente!");		document.form1.observacao.select();		return false;		}		}}--></script>

É isso. Qualquer dúvida estamos aí!

 

Um abraço e boa sorte!

Compartilhar este post


Link para o post
Compartilhar em outros sites

galera...assuntos de javascript por favor postar no forum referente a linguagem pois pode ser duvida de mais alguem, abaixo os exemplos:

exibindo mensagens na mesma página, mantendo os textbox preenchidos:

<%option explicit%><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "[url="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"]http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd[/url]"><html xmlns="[url="http://www.w3.org/1999/xhtml"]http://www.w3.org/1999/xhtml[/url]"><head><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /><title>Untitled Document</title><style type="text/css"><!--.style2 {font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; }--></style></head><body><%dim strNome,strEmail,strMensagem 'declarando variáveis'recuperando os dados do formulário e armazenando em variaveisstrNome=Request.Form("txtNome") strEmail=Request.Form("txtEmail")'verificando se as variáveis são verdadeirasif strEmail<>"" and strNome<>"" then 'se as duas variáveis forem verdadeiras envia os dados para outra página na forma de querystring Response.Redirect("dados.asp?nome="&strNome&"&email="&strEmail&"") 'enviando os dados dos text para outra página, recupere na outra página com request.querystring("nome") e request.querystring("email")else 'se for falso uma ou mais variáveis aramazena uma mensagem de erro para exibir if strNome="" and strEmail="" then  strMensagem="" elseif strNome="" then  strMensagem="Preencha seu nome" elseif strEmail="" then  strMensagem="Preencha seu email" end if  end if%><form id="form1" name="form1" method="post" action="">  <table width="15%" border="0" align="center" cellpadding="0" cellspacing="0">	<tr>	  <td>		<div align="right" class="style2">Nome		  <input name="txtNome" type="text" id="txtNome" value="<%=strNome%>" />		</div></td>	</tr>	<tr>	  <td>		<div align="right" class="style2">Email 		  <input name="txtEmail" type="text" id="txtEmail" value="<%=strEmail%>" />		</div></td>	</tr>	<tr><%'exibe a mensagem de erro quando necessário%>	  <td><div align="center" class="style2"><strong><%=strMensagem%></strong></div></td>	</tr>	<tr>	  <td><div align="center" class="style2">		<input type="submit" name="Submit" value="Enviar" />	  </div></td>	</tr>  </table></form></body></html>
verificando cpf válido:

Function ChkCPF(valor)Dim arrayCPF(9)valor=trim(cstr(valor))ChkCPF = Trueif len(valor) <> 11 thenChkCPF = Falseelsefor i = 0 to 9if valor = String(11,CStr(i)) then ChkCPF = Falsenextif ChkCPF thenfor i = 1 to 9arrayCPF(i-1) = int(mid(valor, i, 1))nextfor i = 1 to 9dig1 = dig1 + (arrayCPF(9-i)*(i+1))nextdig1 = 11 - (dig1 MOD 11)if dig1 >= 10 then dig1 = 0dig2 = dig1 * 2for i = 1 to 9dig2 = dig2 + (arrayCPF(9-i)*(i+2))nextdig2 = 11 - (dig2 MOD 11)if dig2 >= 10 then dig2 = 0if (CStr(dig1) & CStr(dig2)) <> Right(valor,2) then ChkCPF = Falseend ifend ifEnd Function
Agora é só mesclar os códigos

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.