Ir para conteúdo

Arquivado

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

Gilberto Jr

Erro na Mensagem Exibida na Validação

Recommended Posts

Boa noite.

 

Eu tenho esse javascript de validação do meu formulario e esta aparecendo essa mensagem que esta a imagem mostra.

 

errojavascript.png

 

E se eu marcar essa opção para de aparecer e mensagem de que o campo esta incorreto. E se pressionar o [ ok ] o formulario faz o submit.

 

O meu codigo de validação é esse

<script language="javascript" type="text/javascript">
function validar() {

if(document.form1.nome.value==''||document.form1.nome.value.length<3)
{
alert("Nome inválido! Deve conter no mínimo 3 caracteres!");
document.form1.nome.focus();
return false;
}

if(document.form1.sobrenome.value==''||document.form1.sobrenome.value.length<3)
{
alert("Sobrenome inválido! Deve conter no mínimo 3 caracteres!");
document.form1.sobrenome.focus();
return false;
}

if(document.form1.email.value==''||document.form1.email.value.length<7)
{
alert("E-mail inválido! Digite um e-mail correto!");
document.form1.email.focus();
return false;
}

if(document.form1.senha.value==''||document.form1.senha.value.length<6)
{
alert("Senha inválido! Deve conter no mínimo 6 caracteres!");
document.form1.senha.focus();
return false;
}

if(document.form1.senha2.value==''||document.form1.senha2.value.length<6)
{
alert("Confirmação da Senha inválido! Deve conter no mínimo 6 caracteres!");
document.form1.senha2.focus();
return false;
}

if(document.form1.senha.value!=document.form1.senha2.value)
{
alert("Senhas diferentes!");
document.form1.senha.focus();
return false;
}

if(document.form1.dia.value==''||document.form1.dia.value.length<2)
{
alert("Dia inválido! Deve conter no mínimo 2 caracteres!");
document.form1.dia.focus();
return false;
}

if(document.form1.mes.value==''||document.form1.mes.value.length<2)
{
alert("Mês inválido! Deve conter no mínimo 2 caracteres!");
document.form1.mes.focus();
return false;
}

if(document.form1.ano.value==''||document.form1.ano.value.length<4)
{
alert("Ano! Deve conter no mínimo 4 caracteres!");
document.form1.ano.focus();
return false;
}

}
</script>

E chamo a o script no onsubmit do formulario


<form action="insertuser.asp" method="post" enctype="multipart/form-data" name="form1" id="form1" onsubmit="return validar();">   

Alguém sabe por que esta acontecendo isso?

 

Se puderem me ajudar eu agradeço.

 

Att;

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pq está acontecendo oq ?

Compartilhar este post


Link para o post
Compartilhar em outros sites
William Bruno

 

Eu não entendi a sua pergunta.

 

Quando eu pressiono o botão para salvar e se tiver dados incorretos de algum campo que seja obrigatório aparece essa mensagem.

 

A mensagem começa aparecer do campo Segundo Nome para frente.

 

Se eu marcar a opção [ Bloquear janelas de confirmação desta página? ] e pressiono OK a mensagem para de aparecer mesmo se tiver algum campo obrigatório com dados incorretos.

 

E também clicando em ok ao invés de voltar o foco para o campo que ele esta dizendo ele faz o submit do formularizo.

 

O que pode esta acontecendo?

 

Att;

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ah sim, aparece pois vc está trabalhando com alerts, e o navegador entendeu q vc está disparando muitos alerts, e isso é chato! muito chato!

 

Ai o navegador oferece ao visitante uma forma de bloquear.

 

Enfim, não use alerts. Exiba os erros de outra forma, será melhor para o usuário, e vc não vai correr o risco de ser bloqueado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Que coco em

William Bruno

 

Você poderia me da uma dica de como mostrar as mensagens de outra forma ou me manda um link do seu site mesmo para que eu posso implementar no meu site.

 

Att;

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá Gilberto Jr,

 

1° Opção:

 

Entre tantos exemplos, vc pode implementar esse:

 

Jquery Validation

 

 

2° Opção:

 

Outra opção que recomendo é tratar via código tb,

 

Como sei que usa o ASP, eu faço desta forma para Garantir que de fato seja preenchido:

<%

nome      = Request.Form("nome")
sobrenome = Request.Form("sobrenome")
email     = Request.Form("email")


If nome = "" Then

Response.Write "<font color=red>"
Response.Write "( Nome ) está vazio"
Response.Write "</font>"
Response.Write "<a href='javascript:history.back()'><img src='imagem/bt_voltar.png' width='100' height='40'></a>"


ElseIf sobrenome = "" Then

Response.Write "<font color=red>"
Response.Write "( Sobrenome ) está vazio"
Response.Write "</font>"
Response.Write "<a href='javascript:history.back()'><img src='imagem/bt_voltar.png' width='100' height='40'></a>"


ElseIf email = "" Then

Response.Write "<font color=red>"
Response.Write "( E-mail ) está vazio"
Response.Write "</font>"
Response.Write "<a href='javascript:history.back()'><img src='imagem/bt_voltar.png' width='100' height='40'></a>"


Else

Se estiver tudo correto faz o Envio...

End If

%>

Outra forma:

<%
nome      = Request.Form("nome")
sobrenome = Request.Form("sobrenome")
email     = Request.Form("email")

If (nome <> "" and sobrenome <> "" and email <> "" ) Then

Se estiver correto, faz o Envio....

Else

Response.Write "<font color='red'>"   
Response.Write "<h3>Os campos abaixo devem ser preenchidos corretamente.</h3>"
Response.Write "Nome <br>"
Response.Write "Sobrenome <br>" 
Response.Write "E-mail <br>"
Response.Write "<a href='javascript:history.back()'><img src='./imagem/bt_voltar.png' width='100' height='40'></a>"
Response.Write "</font>"

End If 
%> 

Eu costumo tb, por medidas de segurança, TRATAR os campos antes de serem submetidos.

 

Exemplo:

 

tenho uma Função que Trata alguns Comandos, Caracteres especiais, Algumas Tag's HTML, etc, e chamo elas desta forma:

<%

nome       = TratarCaracteres(Request.Form("nome"))
sobrenome  = TratarCaracteres(Request.Form("sobrenome"))
email      = TratarCaracteres(Request.Form("email"))

%>

Desta forma, eu filtro os dados Antes de serem enviados.

 

 

 

Espero ter Ajudado em alguma forma.

 

 

Grande Gilberto Jr.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ow, boa noite

wilnet

 

Realmente esta por dentro das coisas rsrs. Trabalho com ASP CLASSIC sim.

 

Eu tentar usar a 1ª opção.

 

Nem sabia que existia um site com os codigos quase pronto do jquery validation.

 

Se bem que eu não consegui achar os codigos mas basta eu pedir pra mostrar o codigo fonte da pagina.

 

Amanha eu vou da um help nessa questão.

 

Depois se sobrar tempo da uma olhada em um site do bolão do segundo turno brasileirão.

 

http://tecnogalli.com.br/bolao/

 

Desde já agradeço pela atenção.

 

Att;

Compartilhar este post


Link para o post
Compartilhar em outros sites

Isso mesmo Gilberto.Jr

 

E se vc verificar no link, abaixo de "Synthetic examples" e "Real-world examples":

 

Vc vai ter várias opções para estilizar sua validação, basta escolher uma a seu gosto.

 

Como sugestão, não fique somente no jquery, valide pelo ASP tb.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Consegui fazer usando o Jquery Validation

 

Obrigado pela atenção que você prestou.

 

Irei validar com ASP apos fazer o submit no formulário antes de enviar para o banco de dados.

 

O que você me passou ajudou muito agora surgiu uma outra duvida. Eu não sei implementar o jquery para fazer isso.

 

No meu formulário eu tenho dois campos de senha.

 

Senha e Confirmação da Senha. Como eu coloquei required esta validando. Porem o que eu quero agora é:

Se o campo rep_senha for diferente do campo senha aparecer a mensagem dizendo que a senha é diferente e o focus volta para o campo senha.

 

Segue o script que vai na pagina do formulário.

	<script>
	// only for demo purposes
		var container = $('div#container');
		// validate the form when it is submitted
		var validator = $("#form2").validate({
			errorContainer: container,
			errorLabelContainer: $("ol", container),
			wrapper: 'li'
		});

		$(".cancel").click(function() {
			validator.resetForm();
		});

	</script>

É possível fazer isso com esse código jquery?

 

Att;

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá Gilberto Jr.

 

É possível sim, veja o exemplo nesse Link, onde faz a Validação e Compara a Senha se é a mesma.

 

Validar Senha.

 

 

Qualquer dúvida sobre o uso mais detalhado deste Plugin, segue a Documentação do mesmo.

 

Documentação.

 

 

Inclusive via Code no ASP, vc tb pode fazer essa Validação e Comparação.

<%
senha  = Request.Form("senha")
senha1 = Request.Form("senha1")

If senha = "" Then

Response.Write "<font color=red>"
Response.Write "( SENHA ) está vazio"
Response.Write "</font>"
Response.Write "<a href='javascript:history.back()'><img src='imagem/bt_voltar.png' width='100' height='40'></a>"

ElseIf Request.Form("senha") <> Request.Form("senha1") Then

Response.Write "<font color=red>"
Response.Write "( SENHA ) Deve ser Iguais"
Response.Write "</font>"
Response.Write "<a href='javascript:history.back()'><img src='imagem/bt_voltar.png' width='100' height='40'></a>"

Else

Envia dados ...

End If
%>

Qualquer dúvida, posta ai.

 

Vlw

Compartilhar este post


Link para o post
Compartilhar em outros sites

É isso ai Gilberto Jr.

 

Vc pode usar tb mascaras para estilizar alguns de seus campos, como: Cep, Telefone, Celular, etc, segue um Link, entre tantos outros.

 

Mascaras para Form.

 

Outro exemplo, é nos Campos DATAS, ele te abre um Calendário ao ser clicado no campo,

 

Calendário.

 

Parabéns por ter conseguido.

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.