Ir para conteúdo

POWERED BY:

Arquivado

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

Wellington09

[Resolvido] jquery validate

Recommended Posts

não sei se está com algum bug este plugin do validate ou se eu não estou conseguindo achar o erro.

Toda vez que eu confirmo meu email ele mostra a mensagem O e-mail não confere com o que foi digitado acima

 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
        <head>
        <title>Exemplo de Validação com jQuery</title>
        <meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
        <script language="JavaScript" src="http://code.jquery.com/jquery-1.4.4.js" type="text/javascript"></script>
        <script language="JavaScript" src="http://dev.jquery.com/view/trunk/plugins/validate/jquery.validate.js" type="text/javascript"></script>
        <style type="text/css">
		* {
			font-family: Verdana;
			font-size: 96%;
		}
		label {
			display: block;
			margin-top: 10px;
		}
		label.error {
			float: none;
			color: red;
			margin: 0 .5em 0 0;
			vertical-align: top;
			font-size: 10px
		}
		p {
			clear: both;
		}
		.submit {
			margin-top: 1em;
		}
		em {
			font-weight: bold;
			padding-right: 1em;
			vertical-align: top;
		}
		</style>
        <script type="text/javascript">
            $(document).ready( function() {
                $("form").validate({
                    // Define as regras
                    rules:{
                        'contact[name]':{required: true, minlength: 2},
                        'contact[email]':{required: true, email: true},
						'contact[email_confirmation]':{required: true, equalTo: '#contact[email]'},
                        'contact[message]':{required: true, minlength: 2}
                    },
                    messages:{
                        'contact[name]':{required: "Digite o seu nome", minlength: "O seu nome deve conter, no mínimo, 2 caracteres"},
                        'contact[email]':{required: "Digite o seu e-mail para contato", email: "Digite um e-mail válido"},
                        'contact[email_confirmation]':{required: "Digite o mesmo e-mail que você digitou acima", equalTo: "O e-mail não confere com o que foi digitado acima"},
                        'contact[message]':{required: "Digite a sua mensagem", minlength: "A sua mensagem deve conter, no mínimo, 2 caracteres"}
                    }
                });
            });
        </script>
        </head>
        <body>
			<form method="post" action="">
          		<label>Nome</label>
                <input name="contact[name]" type="text" />
                <label>E-mail</label>
                <input name="contact[email]" type="text" />
                <label>Confirmar e-mail</label>
                <input name="contact[email_confirmation]" />
                <label>Mensagem</label>
                <textarea name="contact[message]"></textarea>
                <br />
                <input type="submit" class="submit" value="Enviar" />
	        </form>
		</body>
</html>

Compartilhar este post


Link para o post
Compartilhar em outros sites

você tá procurando por um ID que não existe

 

ou você cria o ID, ou você retira a # (tralha), para ele pesquisar pelo name do campo

equalTo: 'contact[email]'},

Compartilhar este post


Link para o post
Compartilhar em outros sites

Só funciona se eu fizer com ID como você disse.

 

então faz com o ID cara.

http://docs.jquery.com/Plugins/Validation/Methods/equalTo#other

 

não achei nada específico no source do plugin, mas talvez, não faça sentido comparar 'se tal campo é igual a outro', se 'esse outro', não for único.

E o atributo ID, deve garantir isso.

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.