Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Bom,na imagem abaixo tenho 5 campos que quero validar.
/applications/core/interface/imageproxy/imageproxy.php?img=http://img706.imageshack.us/img706/6158/itrz.png&key=498da62e1af2279ce6eab837f3febd829d3812a55a1b66433a1f031bdc1060ed" alt="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:
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]
troque todos os:
onFocus="javascript:this.value=''" onblur="if (this.value=='') this.value='Digite seu nome...'"poronFocus="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.
Fiz oque pediu mais continuou:
SyntaxError: syntax error javascript:();:1
O método getPreventDefault() não deve mais ser usado. No lugar, use defaultPrevented.
Procure o trecho do seu código em que faz javascript:() e remova.
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>Não faça isso:
onclick="javascript: exibeé desnecessário colocar esse javascript:
remova todos eles.
onclick="exibe
Removi ficando assim:
<a href="#" onclick="exibe('cadastre');">Cadastre-se</a><br />
<a style="float:right;" href="#" onclick="exibe('cadastre');">Fechar(x)</a>
Mais o erro persiste. :upset:Se ainda está aparecendo a mesma mensagem no console de erros, é pq tem mais algum javascript: ai no teu código.
Procure e remova.
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.
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.
O que aparece no console de erros ? Ctrl + Shift + J do Firefox