Ir para conteúdo

POWERED BY:

Arquivado

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

michelmfreitas

validação

Recommended Posts

Olá pessoal...

 

 

Vejam se conseguem me ajudar...

 

 

o que tá acontecendo é o seguinte... na validação de um campo de CPF - peguei um script de validação na net, mesclei com o codigo que criei, mas n consigo fazer funcionar...

 

<script Language="JavaScript">				 function checa_formulario(formulario){if (formulario.nome.value == ""){alert("Insira seu nome");formulario.nome.focus();return (false);}if (formulario.email.value == ""){alert("O Campo E-mail está Vazio !!!");formulario.email.focus();return (false);}if (formulario.email.value.indexOf('@', 0) == -1){alert("O E-mail é Inválido !!!");formulario.email.focus();return (false);}if (formulario.sexo.value == ""){alert("Informe seu sexo");formulario.sexo.focus();return (false);}if (formulario.data_nascimento.value == ""){alert("Informa sua Data de Nascimento");formulario.data_nascimento.focus();return (false);}if (formulario.profissao.value == ""){alert("O campo profissão Está Vazio !!!");formulario.profissao.focus();return (false);}if (formulario.endereco.value == ""){alert("O campo Endereço Está Vazio !!!");formulario.endereco.focus();return (false);}if (formulario.numero.value == ""){alert("O campo número Está Vazio !!!");formulario.numero.focus();return (false);}if (formulario.bairro.value == "selecione"){alert("O campo Bairro está vazio.");formulario.bairro.focus();return (false);}if(formulario.cidade.value == ""){alert("O campo Cidade Está Vazio !!!");formulario.cidade.focus();return (false);}if(formulario.cep.value == ""){alert("O campo cep Está Vazio !!!");formulario.cep.focus();return (false);}if (formulario.rg.value == ""){alert("O campo RG Está Vazio !!!");formulario.rg.focus();return (false);}if (formulario.cpfID.value == ""){	alert("O campo CPF Está Vazio !!!");	formulario.cpf.focus();	return (false);}else{	/*	cpf = document.formulario.cpfID.value;	erro = new String;	if (cpf.length < 11) erro += "Sao necessarios 11 digitos para verificacao do CPF! \n\n";	var nonNumbers = /\D/;	if (nonNumbers.test(cpf)) erro += "A verificacao de CPF suporta apenas numeros! \n\n";	if (cpf == "00000000000" || cpf == "11111111111" || cpf == "22222222222" || cpf == "33333333333" || cpf == "44444444444" || cpf == "55555555555" || cpf == "66666666666" || cpf == "77777777777" || cpf == "88888888888" || cpf == "99999999999"){		erro += "Numero de CPF invalido!"	}	var a = [];	var b = new Number;	var c = 11;	for (i=0; i<11; i++){		a[i] = cpf.charAt(i);		if (i < 9) b += (a[i] * --c);}		if ((x = b % 11) < 2) { a[9] = 0 } else { a[9] = 11-x }		b = 0;		c = 11;		for (y=0; y<10; y++) b += (a[y] * c--);		if ((x = b % 11) < 2) { a[10] = 0; } else { a[10] = 11-x; }		if ((cpf.charAt(9) != a[9]) || (cpf.charAt(10) != a[10])){			erro +="Verifique o CPF!";		}		if (erro.length > 0){			alert(erro);			return (false);		}		return (true);	}	*/	var i; s = document.frmCli.txtCpf.value; var c = s.substr(0,9); var dv = s.substr(9,2); var d1 = 0; for (i = 0; i < 9; i++) { d1 += c.charAt(i)*(10-i); } if (d1 == 0){ alert("CPF Invalido") return false; } d1 = 11 - (d1 % 11); if (d1 > 9) d1 = 0; if (dv.charAt(0) != d1) { alert("CPF Invalido") return false; }  d1 *= 2; for (i = 0; i < 9; i++) { d1 += c.charAt(i)*(11-i); } d1 = 11 - (d1 % 11); if (d1 > 9) d1 = 0; if (dv.charAt(1) != d1) { alert("CPF Invalido") return false; } return true; } if (formulario.condicoes.value == ""){alert("O campo Condições de Pagamento Está Vazio !!!");formulario.condicoes.focus();return (false);}if (formulario.envio.value == ""){alert("O campo Forma de Envio Está Vazio !!!");formulario.envio.focus();return (false);}if (formulario.estado.value == ""){alert("Selecione um estado.");formulario.estado.focus();return (false);}</script>

 

Linha do FORM:

 

<form id="formulario" name="formulario" method="post" action="processaFicha.php" onSubmit="return checa_formulario(this)">

Ao preencher o form ele valida normalmente, até chegar no CPF... que se eu deixar em branco ele passa direto sem validar...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu sei que vao brigar comigo por postar codigo pronto mas... testa ae

 

<script Language="JavaScript">
function checa_formulario(){

var form = document.formulario;
var msg = "";
var chk = false;

for (i=0;i < form.elements.length; i++)
{
   if (form.elements[i].value == "")
       msg += "- " + form.elements[i].id + "\r\n";
}

if (form.email.value.length > 0 && form.email.value.indexOf('@', 0) == -1)
msg += "- O E-mail é Inválido !!!\r\n";

if (ValidaCPF(formulario.cpf.value) != "")
msg += ValidaCPF(formulario.cpf.value);

if (msg != "")
{
   alert("Ocorreu um erro, verifique os campos:\n\n" + msg);
   return false;
}

else
return true;

}


function ValidaCPF(cpf)
{
  var nonNumbers = /\D/;
  var a = [];
  var b = new Number;
  var c = 11;
  erro = new String;

  if (cpf.length < 11 && cpf.length > 0) erro += "- São necessários 11 dígitos para verificação do CPF! \r\n";
  if (nonNumbers.test(cpf)) erro += "- A verificação de CPF suporta apenas números! \r\n";
  if (cpf == "00000000000" || cpf == "11111111111" || cpf == "22222222222" || cpf == "33333333333" || cpf == "44444444444" || cpf == "55555555555" || cpf == "66666666666" || cpf == "77777777777" || cpf == "88888888888" || cpf == "99999999999")
      erro += "- Número de CPF inválido!\r\n"

  for (i=0; i<11; i++){
      a[i] = cpf.charAt(i);
      if (i < 9) b += (a[i] * --c);}
      if ((x = b % 11) < 2) { a[9] = 0 } else { a[9] = 11-x }
      b = 0;
      c = 11;
      for (y=0; y<10; y++) b += (a[y] * c--);
      if ((x = b % 11) < 2) { a[10] = 0; } else { a[10] = 11-x; }
      if ((cpf.charAt(9) != a[9]) || (cpf.charAt(10) != a[10])){
          erro +="- Verifique o CPF!\r\n";
      }

  if (erro.length > 0)
      return erro;
  else
      return "";
}

</script>


<form id="formulario" name="formulario" method="post" action="processaFicha.php" onSubmit="return checa_formulario()">

Nome: <input type="text" name="nome" id="Nome"><br>
E-mail: <input type="text" name="email" id="E-mail"><br>
Sexo: <input type="text" name="sexo" id="Sexo"><br>
CPF: <input type="text" name="cpf" id="CPF"><br>
<input type="submit" value="Enviar">
</form>

Compartilhar este post


Link para o post
Compartilhar em outros sites

o jeito que eu postei funcionou...

 

coloca assim:

 

<form id="formulario" name="formulario" method="post" action="return checa_formulario()" onSubmit="return checa_formulario()">
dai ve se aparece algum erro. Qual navegador está usando?

Compartilhar este post


Link para o post
Compartilhar em outros sites

firefox...testando no IE, funcionou.. Mas no FF não... como faço pra funcionar nos dois?Outra coisa: tenho alguns campos nesse FORM que não são obrigatórios e são listados como tal... como faço pra tirar a obrigatoriedade segundo o código que você postou?

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.