Jump to content


Photo

Validação De Campos


  • Faça o login para participar
3 replies to this topic

#1 alessancost

alessancost

    12 Horas

  • Usuários
  • 196 posts
  • Sexo:Não informado

Posted 15/04/2006, 12:16

Eu estou :wacko: com o Javascript de validação que fiz. Tenho varios códigos devalidação: nomecompleto, cpf, e-mail, ... e codigo de confirmação.

O problema que o codigo só funciona até o CFP aparti dai os outros não estão funcionando.
Mas se eu tirar o codigo do CPF e coloca-lo como o último tudo funciona.
Por tanto acredito que o código do CPF não esta permitindo que os outros códigos funcionem.
Mas não posso tirar da ordem colocando o CPF por último.
Estou ficando loucoooo :blink: :blink: :blink:

Alguém me ajude por favor

function checkForm(formName){
errors="";
d=document.forms[formName];
if(d.nome768.value==""){errors+=" O campo Nome Completo não foi preenchido\n";}
if(d.cpf549.value==""){errors+=" O campo CPF não foi preenchido\n";}
if(d.eml.value==""){errors+=" O campo E-mail não foi preenchido\n";}
if(d.login708.value==""){errors+=" O campo Usuário não foi preenchido\n";}
if(d.senha583.value==""){errors+=" O campo Senha não foi preenchido\n";}
if(d.senha583_2.value==""){errors+=" O campo Confirme sua Senha não foi preenchido\n";}
if(d.pergunta.value==""){errors+=" O campo Lembrete de Senha não foi preenchido\n";}
if(d.resposta.value==""){errors+=" O campo Resposta não foi preenchido\n";}
if(d.key_ent.value==""){errors+=" O campo Código de Confirmação não foi preenchido\n";}
if(errors!="")
{msg = "_____________________________________________________________\n\n";
msg += "Seu cadastro não pode ser concluído porque algum erro foi encontrado.\n";
msg += "Preencha o(s) campo(s) solicitado(s) e tente novamente:\n";
msg += "_____________________________________________________________\n\n";
alert(msg + errors);
return false;}
if(form1.nome768.value.indexOf(" ") < 1)
{alert("Voce precisa preencher Nome e Sobrenome!");
form1.nome768.focus();
return false;}
if (checaCPF(document.form1.cpf549.value)) {
document.form1.submit();
return true;
} else {
errors="1";
if (errors) alert('Digite corretamente o CPF!');
document.MM_returnValue = (errors == '');
return false;}
if (/^([\w\.\-])+\@(([\w\-])+\.)+([\w ]{2,4})$/.test(document.form1.eml.value) == false) {
alert("E-mail inválido!");
return false;}
if(d.senha583.value!=d.senha583_2.value)
{alert("As senhas não condizem!");
return false;}
if(d.codigo.value!=d.key_ent.value)
{alert("O código de confirmação esta errado!");
return false;}
function setErrorMsg(err) // VALIDAR CPF
{document.all.forms[0].theError.value=err;}
function checaCPF (CPF) {
if (CPF.length != 11 || CPF == "00000000000" || CPF == "11111111111" ||
CPF == "22222222222" || CPF == "33333333333" || CPF == "44444444444" ||
CPF == "55555555555" || CPF == "66666666666" || CPF == "77777777777" ||
CPF == "88888888888" || CPF == "99999999999")
return false;
soma = 0;
for (i=0; i < 9; i ++)
soma += parseInt(CPF.charAt(i)) * (10 - i);
resto = 11 - (soma % 11);
if (resto == 10 || resto == 11)
resto = 0;
if (resto != parseInt(CPF.charAt(9)))
return false;
soma = 0;
for (i = 0; i < 10; i ++)
soma += parseInt(CPF.charAt(i)) * (11 - i);
resto = 11 - (soma % 11);
if (resto == 10 || resto == 11)
resto = 0;
if (resto != parseInt(CPF.charAt(10)))
return false;
return true;}}
function teste(e) { // SOMENTE NUMEROS NO CAMPO
if(window.event) {
key = e.keyCode;}
else if(e.which) {
key = e.which;}
if (key!=8 || key < 48 || key > 57) return (((key > 47) && (key < 58)) || (key==8));
{return true;}}
function mostra_cadastro1(){ // FUNÇÃO ESCONDE/MOSTRA CADASTRO
document.getElementById('cadastro1').style.display='block';
document.getElementById('cadastro2').style.display='none';}
function mostra_cadastro2(){
document.getElementById('cadastro1').style.display='none';
document.getElementById('cadastro2').style.display='block';}



#2 Klaus

Klaus

    @ ubuntu jaunty

  • Ex-Admins
  • 7924 posts
  • Sexo:Masculino
  • Localidade:127.0.0.1

Posted 15/04/2006, 13:35

Seria muito interessante destacar qual a função que está com problemas. O que significa colocar por último? A ordem da definição das funções no código é completamente irrelevante.

O que você já tentou fazer? Que resultados obteve?

Mostre que você já tentou fazer alguma coisa... não simplesmente quer que as pessoas olhem TODO o seu código e resolvem o SEU problema...
Klaus Paiva
Conheça também: Taperás

#3 alessancost

alessancost

    12 Horas

  • Usuários
  • 196 posts
  • Sexo:Não informado

Posted 15/04/2006, 16:09

Boa tarde Klaus, eu consegui isolar o problema, ou seja, esta no código responsável pela validação do CPF... Cada função esta identificado mas esqueci de mencionar, por exemplo a parte que ocorre o erro esta identificado por “VALIDAR CPF” que é chamado pela seguinte função:

if (checaCPF(document.form1.cpf549.value)) {
document.form1.submit();
return true;
} else {
errors="1";
if (errors) alert('Digite corretamente o CPF!');
document.MM_returnValue = (errors == '');
return false;}


O que significa colocar por último?
Se eu pegar essa função ACIMA e colocar como última ela vai ser a última a ser processada, assim todas as outras validações vão funcionar sem problema, mas na ordem ERRADA... todos os códigos de validação que estão abaixo do CFP não funcionam... pois quando é verificado o CPF já ocorre o cadastro sem verificar o e-mail e etc...

Não quis passar uma idéia errada... esse código não foi simplesmente copiado... eu fiz muitas pesquisas para chegar nesse resultado... acontece que infelizmente não estou conseguindo resolver esse problema, fora isso, todos os recursos de validação estão funcionando deposid e muito trabalho.

Desculpe-me novamente (y)

#4 Klaus

Klaus

    @ ubuntu jaunty

  • Ex-Admins
  • 7924 posts
  • Sexo:Masculino
  • Localidade:127.0.0.1

Posted 15/04/2006, 16:32

Bom cara, o fato é o seguinte:

Essa linha envia o formulário:

document.form1.submit();

E qualquer return encerra a execução da sua função.

Você precisa tirar o submit do meio do código e deixar o return só quando quiser ele mesmo...
Klaus Paiva
Conheça também: Taperás




1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq