Ir para conteúdo

POWERED BY:

Arquivado

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

Landerson Almeida

Jquery Validate não valida

Recommended Posts

Bom,na imagem abaixo tenho 5 campos que quero validar.



itrz.png


Mais apenas o campo email funciona,Segue o form:



<form action="" enctype="multipart/form-data" method="post" id="formCadastro">
<div id="input1"><input type="text" name="nome" id="nome" value="Digite seu nome..." onFocus="javascript:this.value=''" onblur="if (this.value=='') this.value='Digite seu nome...'"/></div>
<div id="input2"><input type="text" name="sobrenome" id="sobrenome" value="Digite seu sobrenome..." onFocus="javascript:this.value=''" onblur="if (this.value=='') this.value='Digite seu sobrenome...'"/></div>
<div id="input3"><input type="text" name="usuario" id="usuario" value="Digite seu nome de usuario/login..." onFocus="javascript:this.value=''" onblur="if (this.value=='') this.value='Digite seu nome de usuario/login...'"/></div>
<div id="input4"><input type="text" name="email" id="email" value="Digite seu email..." onFocus="javascript:this.value=''" onblur="if (this.value=='') this.value='Digite seu email...'"/></div>
<div id="input5"><input type="password" name="senha" id="senha" value="Password" onFocus="javascript:this.value=''" onblur="if (this.value=='') this.value='Password'"/></div>
<div id="textarea"><textarea type="text" name="sobre" onFocus="javascript:this.value=''" onblur="if (this.value=='') this.value='Sobre mim...'">sobre mim...</textarea></div>
<div id="buttoncad"><input type="submit" value="Criar conta"/></div>
</form>

Segue os scripts e os campos que quero validar:



<script type="text/javascript" src="http://ajax.microsoft.com/ajax/jquery.validate/1.6/jquery.validate.js" ></script>
<script type="text/javascript">
$(document).ready(function(){
$('#formCadastro').validate({
rules:{
nome: {
required: true,
minlength: 3
},
sobrenome: {
required: true,
minlength: 3
},
usuario: {
required: true,
minlength: 3
},
email: {
required: true,
email: true
},
senha: {
required: true
}
},
messages:{
nome: {
required: "O campo nome é obrigatorio.",
minlength: "O campo nome deve conter no mínimo 3 caracteres."
},
sobrenome: {
required: "O campo sobrenome é obrigatorio.",
minlength: "O campo sobrenome deve conter no mínimo 3 caracteres."
},
usuario: {
required: "O campo usuario é obrigatorio.",
minlength: "O campo usuario deve conter no mínimo 3 caracteres."
},
email: {
required: "O campo email é obrigatorio.",
email: "O campo email deve conter um email válido."
},
senha: {
required: "O campo senha é obrigatorio."
}
}
});
});
</script>

Se eu colocar "email: true" nos campos que quero validar ele valida mais se eu deixat com "minlength: {num}" ele não funciona. Sinceramente,não sei aonde estou errando,Obrigado :upset:


Compartilhar este post


Link para o post
Compartilhar em outros sites

O que aparece no console de erros ? Ctrl + Shift + J do Firefox

Compartilhar este post


Link para o post
Compartilhar em outros sites

Quando clico em "Criar Conta" Apareçe isto no console:



12:42:47.754 SyntaxError: syntax error javascript:();:1
12:42:53.367 NS_ERROR_ILLEGAL_VALUE: Component returned failure code: 0x80070057 (NS_ERROR_ILLEGAL_VALUE) [nsIWebNavigation.loadURI]

Compartilhar este post


Link para o post
Compartilhar em outros sites

troque todos os:

onFocus="javascript:this.value=''" onblur="if (this.value=='') this.value='Digite seu nome...'"
por
onFocus="value=''" onblur="if (this.value=='') this.value='Digite seu nome...'"
ou pelo atributo placeholder do html5

 

Continue debugando e corrigindo o que aparecer no console.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Procure o trecho do seu código em que faz javascript:() e remova.

Compartilhar este post


Link para o post
Compartilhar em outros sites

No caso essa primeira imagem que mostrei la em cima ela abre com onclick,segue o código:

	                <div id="cadastre">
                <span class="seta"></span>
                    <div class="c_cad">
                        <a style="float:right;" href="#"  onclick="javascript: exibe('cadastre');">Fechar(x)</a>
                        <div id="textcad">CADASTRE-SE</div>
                        <div id="formm">
                            <form action="" enctype="multipart/form-data" method="post" id="formCadastro">
                                <div id="input1"><input type="text" name="nome" id="nome" value="Digite seu nome..." onFocus="javascript:this.value=''" onblur="if (this.value=='') this.value='Digite seu nome...'"/></div>
                                <div id="input2"><input type="text" name="sobrenome" id="sobrenome" value="Digite seu sobrenome..." onFocus="javascript:this.value=''" onblur="if (this.value=='') this.value='Digite seu sobrenome...'"/></div>
                                <div id="input3"><input type="text" name="usuario" id="usuario" value="Digite seu nome de usuario/login..." onFocus="javascript:this.value=''" onblur="if (this.value=='') this.value='Digite seu nome de usuario/login...'"/></div>
                                <div id="input4"><input type="text" name="email" id="email" value="Digite seu email..." onFocus="javascript:this.value=''" onblur="if (this.value=='') this.value='Digite seu email...'"/></div>
                                <div id="input5"><input type="password" name="senha" id="senha" value="Password" onFocus="javascript:this.value=''" onblur="if (this.value=='') this.value='Password'"/></div>
                                <div id="textarea"><textarea type="text" name="sobre" onFocus="javascript:this.value=''" onblur="if (this.value=='') this.value='Sobre mim...'">sobre mim...</textarea></div>
                                <div id="buttoncad"><input type="submit" value="Criar conta"/></div>
                            </form>
                        </div>
                    </div>
                </div>

Funçao exibe:

<script type="text/javascript">
function exibe(id) {
	if(document.getElementById(id).style.display=="none") {
		document.getElementById(id).style.display = "inline";
	}
	else {
		document.getElementById(id).style.display = "none";
	}
}
</script>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não faça isso:

onclick="javascript: exibe
é desnecessário colocar esse javascript:

remova todos eles.

onclick="exibe

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se ainda está aparecendo a mesma mensagem no console de erros, é pq tem mais algum javascript: ai no teu código.

Procure e remova.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Procurei os javascript: e removi todos e não deu certo,no meu console de erros só apareçe isto:

Os métodos getUserData() ou setUserData() não devem mais ser usados. No lugar, use WeakMap ou element.dataset.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Vamos voltar ao problema agora, qndo vc coloca o minlength + email: true, oq acontece no console de erros ?

 

E pq vc acha q precisa fazer isso ? já que podem existir emails do tipo: a@t.co então, verificar um 'minlength' não me parece ser nada útil.

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.