Ir para conteúdo
Fórum Script Brasil
  • 0

Ajuda Na Validação De Um Formulário


billy007

Pergunta

Olá pessoal eu sou novo com js e não consigo achar onde estou errando na validação do meu formuário.

Se alguém puder me ajudar a analisar onde estão os erros agradeço!!!

- tem que validar ou só os campos de PF ou só os campos PJ de acordo com a seleção do radiobutton

- a validação está parando no campo de IE, deve continuar validando o e-mail e os outros campos

- tem que fazer a as spams de erro) desaparecerem depois de corrigidas e atualizada a página)

Eu já vasculhei todos os javascripts deste portal mas não achei uma resposta do que eu deveria fazer para obter os resultados acima.

Vou postar o código inteiro pois não sei exatamnete onde está o erro.

Desde já agradeço a colaboração!!!

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Untitled Document</title>
<style type="text/css">
<!--
.style1 {font-size: x-large}
-->
</style>

<script language="javascript">

//Problemas a resolver:
//    - tem que validar ou só os campos de PF ou só os campos PJ de acordo com a seleção do radiobutton    
//    - a validação está parando no campo de IE, deve continuar validando o e-mail e etc...
//    - tem que fazer a as spam(mensagem de erro desaparecerem depois de corrigidas e atualizada a página)

    function valida(){
        chave=document.cadastro
        
            //Aqui começa validação de Pessoa Física    
            if (chave.pess[0].checked == true){
                
                if (chave.serchamado.value==""){
                    erro_validacaoSerchamado.innerHTML = " Escreva como gostaria de ser chamado"
                    chave.serchamado.focus();
                return false;
                }
                
                if (chave.nome.value==""){
                    erro_validacaoNome.innerHTML = " Escreva seu nome"
                    chave.nome.focus();
                return false;
                }
                
                if (chave.sobrenome.value==""){
                    erro_validacaoSobrenome.innerHTML = " Escreva seu sobrenome"
                    chave.sobrenome.focus();
                return false;
                }
                
                if (chave.cpf.value==""){
                    erro_validacaoCPF.innerHTML = " Verifique o CPF"
                    chave.cpf.focus();
                return false;
                }
                
                if (chave.dia.value== -1){
                    erro_validacaoData.innerHTML = " Verifique a Data"
                    chave.dia.focus();
                return false;
                }
                
                if (chave.mês.value== -1){
                    erro_validacaoData.innerHTML = " Verifique a Data"
                    chave.mês.focus();
                return false;
                }
                
                if (chave.ano.value== -1){
                    erro_validacaoData.innerHTML = " Verifique a Data"
                    chave.ano.focus();
                return false;
                }
                                        
                if (chave.sexo.value== -1){
                    erro_validacaoSexo.innerHTML = " Informe o sexo"
                    chave.sexo.focus();
                return false;
                }
                            
            else
            {
            //Aqui começa validação de Pessao Jurídica    
                if (chave.razaosocial.value==""){
                    erro_validacaoRazaosocial.innerHTML = " Escreva a Razao Social"
                    chave.razaosocial.focus();
                return false;
                }
                
                if (chave.nomecontato.value==""){
                    erro_validacaoNomecontato.innerHTML = " Escreva o nome do contato"
                    chave.nomecontato.focus();
                return false;
                }
                
                if (chave.cnpj.value==""){
                    erro_validacaoCnpj.innerHTML = " Escreva o CNPJ"
                    chave.cnpj.focus();
                return false;
                }
                
                if (chave.ie.value==""){
                    erro_validacaoIe.innerHTML = " Escreva o IE"
                    chave.ie.focus();
                return false;
                }
            return false;
            }
                    
            //Aqui começa validação de e-mail e senha
                if (chave.email.value==""){
                    erro_validacaoEmail.innerHTML = " Escreva seu email"
                    chave.email.focus();
                return false;
                }
                
                if (chave.senha.value!="")
                {                
                    if (chave.senha.value.length < 6){
                        erro_validacaoSenha.innerHTML = " A senha deve ter no mínimo 6 dígitos"
                        chave.senha.focus();
                    return false;
                    }
                }
                else 
                {
                    erro_validacaoSenha.innerHTML = " Crie uma senha"
                    chave.senha.focus();
                return false;
                }
            
                if (chave.senha2.value!="")
                    { 
                    if (chave.senha2.value!=chave.senha.value){
                        erro_validacaoSenha2.innerHTML = "A senha não confere com a primeira"
                        chave.senha2.focus();
                    return false;
                    }
                }
                else
                    {
                        erro_validacaoSenha2.innerHTML = "Confirme a senha"
                        chave.senha2.focus();
                    return false;
                }
            
                //Aqui começa a validação do endereço
                if (chave.cep1.value=="" || chave.cep2.value==""){
                    erro_validacaoCep.innerHTML = " Escreva o CEP"
                    chave.cep1.focus();
                return false;
                }
                
                if (chave.endereco.value==""){
                    erro_validacaoEndereco.innerHTML = " Escreva o endereço"
                    chave.endereco.focus();
                return false;
                }
                
                if (chave.numero.value==""){
                    erro_validacaoNumero.innerHTML = " Escreva o número"
                    chave.numero.focus();
                return false;
                }
                
                if (chave.bairro.value==""){
                    erro_validacaoBairro.innerHTML = " Escreva o Bairro"
                    chave.bairro.focus();
                return false;
                }
                
                if (chave.cidade.value==""){
                    erro_validacaoCidade.innerHTML = " Escreva a Cidade"
                    chave.cidade.focus();
                return false;
                }
                
                if (chave.estado.value== -1){
                    erro_validacaoEstado.innerHTML = " Escreva o estado"
                    chave.estado.focus();
                return false;
                }
                
                //Validação do telefone
                if (chave.ddd1.value=="" || chave.telefone1.value==""){
                    erro_validacaoTelefone1.innerHTML = " Verifique o telefone"
                    chave.ddd1.focus();
                return false;
                }                
            return false;
            }

        return true;    
        }
        //Validação do campo numéricos
        function IsNumTel(obj,event){
            var str = obj.value;
            var Tecla = event.which;
            if(Tecla == null)
                Tecla = event.keyCode;
    
            //se não for número nem parentesis ou espaço
            if ( Tecla < 48 || Tecla > 59 ){
                event.returnValue = false;
                chave.cpf.focus();
                return false;
            }
            event.returnValue = true;
            return true;
        }
        
</script>
    
</head>

<body>
<form id="cadastro" name="cadastro" method="post" action="resp.php" language="JavaScript" onSubmit="return valida()">
  ***Campos em <strong>negrito</strong> são de preenchimento obrigatório <br />
  <br />
  <br />
  : : : MEU CADASTRO <br />
  <br />
    <table cellspacing="2">
    <tr>
      <td width="210"><label>
        <strong>
      <input name="pess" type="radio" value="PF" checked="checked" /><SPAN id="erro_validacaopess0" style="display: inline; COLOR: red" class="error"></SPAN>
      Pessoa Fisica</strong> </label></td>
      <td> </td>
    </tr>
    <tr>
      <td width="210" align="right"><strong>Como gostaria de ser chamado</strong>: </td>
      <td>
        <input name="serchamado" type="text" id="serchamado" size="30" /><SPAN id="erro_validacaoSerchamado" style="display: inline; COLOR: red" class="error"></SPAN></td>
    </tr>
    <tr>
      <td width="210" align="right"><strong>Nome </strong> : </td>
      <td><input name="nome" type="text" id="nome" size="30" /><SPAN id="erro_validacaoNome" style="display: inline; COLOR: red" class="error"></SPAN></td>
    </tr>
    <tr>
      <td width="210" align="right"><strong>Sobrenome</strong> : </td>
      <td><input name="sobrenome" type="text" id="sobrenome" size="30" /><SPAN id="erro_validacaoSobrenome" style="display: inline; COLOR: red" class="error"></SPAN></td>
    </tr>
    <tr>
      <td width="210" align="right"><strong>CPF</strong> :</td>
      <td><input name="cpf" type="text" id="cpf" size="30" onkeypress="IsNumTel(this,event)" maxlength="11"/> <SPAN id="erro_validacaoCPF" style="display: inline; COLOR: red" class="error"></SPAN></td>
    </tr>
    <tr>
      <td width="210" align="right">RG :</td>
      <td><input name="rg" type="text" id="rg" size="30" onkeypress="IsNumTel(this,event)"/></td>
    </tr>
    <tr>
      <td width="210" align="right"><strong>Data de Nascimento</strong> : </td>
      <td><label>
        <select name="dia" id="dia">
          <option value=-1>Dia</option>
                                                <option value=01>01</option><option value=02>02</option><option value=03>03</option><option value=04>04</option><option value=05>05</option><option value=06>06</option><option value=07>07</option><option value=08>08</option><option value=09>09</option><option value=10>10</option><option value=11>11</option><option value=12>12</option><option value=13>13</option><option value=14>14</option><option value=15>15</option><option value=16>16</option><option value=17>17</option><option value=18>18</option><option value=19>19</option><option value=20>20</option><option value=21>21</option><option value=22>22</option><option value=23>23</option><option value=24>24</option><option value=25>25</option><option value=26>26</option><option value=27>27</option><option value=28>28</option><option value=29>29</option><option value=30>30</option><option value=31>31</option>    
                                                        </select>
        <select name="mês" id="mês">
        <option value=-1>Mês</option>
                                                <option value=1>JAN</option><option value=2>FEV</option><option value=3>MAR</option><option value=4>ABR</option><option value=5>MAI</option><option value=6>JUN</option><option value=7>JUL</option><option value=8>AGO</option><option value=9>SET</option><option value=10>OUT</option><option value=11>NOV</option><option value=12>DEZ</option>    
        </select>
        
        <select name="ano" id="ano">
        <option value=-1>Ano</option>
                                                <option value=1900>1900</option><option value=1901>1901</option><option value=1902>1902</option><option value=1903>1903</option><option value=1904>1904</option><option value=1905>1905</option><option value=1906>1906</option><option value=1907>1907</option><option value=1908>1908</option><option value=1909>1909</option> 
        </select><SPAN id="erro_validacaoData" style="display: inline; COLOR: red" class="error"></SPAN>
      </label></td>
    </tr>
    <tr>
      <td width="210" align="right"><strong>Sexo</strong> : </td>
      <td><label>
        <select name="sexo" id="sexo">
          <option value="-1">Selecione</option>
          <option value="1">Masculino</option>
          <option value="2">Feminino</option>
        </select>
      </label><SPAN id="erro_validacaoSexo" style="display: inline; COLOR: red" class="error"></SPAN></td>
    </tr>
  </table>
  <br />
  -----------------------------------------------------------------------------------------------------------------------<br />
  <br />
  <table cellspacing="2">
    <tr>
      <td width="210"><label>
        <input name="pess" type="radio" value="PJ" /><SPAN id="erro_validacaopess1" style="display: inline; COLOR: red" class="error"></SPAN>
        <strong>      Pessoa Juridica</strong> </label></td>
      <td> </td>
    </tr>
    <tr>
      <td width="210" align="right"><strong>Razao Social</strong> : </td>
      <td><input name="razaosocial" type="text" id="razaosocial" size="55" /><SPAN id="erro_validacaoRazaosocial" style="display: inline; COLOR: red" class="error"></SPAN></td>
    </tr>
    <tr>
      <td width="210" align="right"><strong>Nome do Contato</strong> : </td>
      <td><input name="nomecontato" type="text" id="nomecontato" size="30" /><SPAN id="erro_validacaoNomecontato" style="display: inline; COLOR: red" class="error"></SPAN></td>
    </tr>
    <tr>
      <td width="210" align="right"><strong>CNPJ</strong> : </td>
      <td><input name="cnpj" type="text" id="cnpj" size="30" onkeypress="IsNumTel(this,event)"/><SPAN id="erro_validacaoCnpj" style="display: inline; COLOR: red" class="error"></SPAN></td>
    </tr>
    <tr>
      <td width="210" align="right"><strong>I. E.</strong> : </td>
      <td><input name="ie" type="text" id="ie" size="30" /><SPAN id="erro_validacaoIe" style="display: inline; COLOR: red" class="error"></SPAN></td>
    </tr>
    <tr>
      <td width="210"> </td>
      <td><label>
        <input name="checkisento" type="checkbox" id="checkisento" />
      </label>
      I.E. Isento </td>
    </tr>
  </table>
  <br />
  <table>
    <tr>
      <td width="210" align="right"><strong>E-mail</strong> : </td>
      <td><input name="email" type="text" id="email" size="40" /><SPAN id="erro_validacaoEmail" style="display: inline; COLOR: red" class="error"></SPAN></td>
    </tr>
    <tr>
      <td width="210" align="right"><strong>Senha</strong> : </td>
      <td><input name="senha" type="password" id="senha" size="30" /><SPAN id="erro_validacaoSenha" style="display: inline; COLOR: red" class="error"></SPAN></td>
    </tr>
    <tr>
      <td width="210" align="right"><strong>Confirmar senha</strong> : </td>
      <td><input name="senha2" type="password" id="senha2" size="30" /><SPAN id="erro_validacaoSenha2" style="display: inline; COLOR: red" class="error"></SPAN></td>
    </tr>
    <tr>
      <td width="210" align="right"> </td>
      <td><input name="checkreceber" type="checkbox" id="checkreceber" checked="checked" />
      Desejo receber e-mails da Neutrontec. </td>
    </tr>
  </table>
  <br />
  ----------------------------------------------------------------------------------------------------------------------<br />
  <p>: : : MEU ENDEREÇO DE ENTREGA</p>
  <table cellspacing="2">
    <tr>
      <td width="210" align="right"><strong>CEP</strong> : </td>
      <td valign="top"><input name="cep1" type="text" id="cep1" size="6" maxlength="5" />
        -
          <input name="cep2" type="text" id="cep2" size="4" maxlength="3" />
          <a href="http://www.correios.com.br/servicos/cep/cep_loc_log.cfm" target="_blank">Procurar</a><SPAN id="erro_validacaoCep" style="display: inline; COLOR: red" class="error"></SPAN></td>
    </tr>
    <tr>
      <td width="210" align="right"><strong>Endereço</strong> : </td>
      <td><input name="endereco" type="text" id="endereco" size="51" /><SPAN id="erro_validacaoEndereco" style="display: inline; COLOR: red" class="error"></SPAN></td>
    </tr>
    <tr>
      <td width="210" align="right"><strong>Número</strong> : </td>
      <td><input name="numero" type="text" id="numero" size="10" onkeypress="IsNumTel(this,event)"/><SPAN id="erro_validacaoNumero" style="display: inline; COLOR: red" class="error"></SPAN>
        Complemento :
      <input name="complemento" type="text" id="complemento" size="20" /></td>
    </tr>
    <tr>
      <td width="210" align="right"><strong>Bairro</strong> : </td>
      <td><input name="bairro" type="text" id="bairro" size="30" /><SPAN id="erro_validacaoBairro" style="display: inline; COLOR: red" class="error"></SPAN></td>
    </tr>
    <tr>
      <td width="210" align="right"><strong>Cidade</strong> : </td>
      <td><input name="cidade" type="text" id="cidade" size="30" /><SPAN id="erro_validacaoCidade" style="display: inline; COLOR: red" class="error"></SPAN></td>
    </tr>
    <tr>
      <td width="210" align="right"><strong>Estado</strong> : </td>
      <td><label>
        <select name="estado" id="estado" class="text1">
    <option selected="selected" value="">Selecione</option>
    <option value="AC">ACRE</option>
    <option value="AL">ALAGOAS</option>
    <option value="AP">AMAPA</option>
    <option value="AM">AMAZONAS</option>
    <option value="BA">BAHIA</option>
    <option value="CE">CEARA</option>
    
        </select>
      </label><SPAN id="erro_validacaoEstado" style="display: inline; COLOR: red" class="error"></SPAN></td>
    </tr>
    <tr>
      <td width="210" align="right">Provincia / Estado : </td>
      <td><input name="estadoprovin" type="text" id="estadoprovin" size="30" /></td>
    </tr>
    <tr>
      <td width="210" align="right"><strong>praís </strong>: </td>
      <td><label>
        <select name="pais" onchange="__doPostBack('pais','')" language="javascript" id="pais" class="text1">
    <option value="AF ">Afeganistao</option>
    <option value="ZA ">Africa do Sul</option>
    <option value="AL ">Albania</option>
    <option value="ALE">Alemanha</option>
    <option value="HD ">Andorra</option>
    <option value="AO ">Angola</option>
    <option value="SA ">Arabia Saudita</option>
    <option value="DZ ">Argelia</option>
    <option value="ARG">Argentina</option>
    <option value="AM ">Armenia</option>
    <option value="AU ">Australia</option>
    <option value="AUS">Austria</option>
    <option value="AZJ">Azerbaijao</option>
    <option value="BS ">Bahamas</option>
    <option value="BD ">Bangladesh</option>
    <option value="BES">Belarus</option>
    <option value="BEL">Belgica</option>
    <option value="BEE">Belize,</option>
    <option value="BOL">Bolivia</option>
    <option value="BA ">Bosnia</option>
    <option selected="selected" value="BRA">Brasil</option>
    

</select></p>
      </label></td>
    </tr>
    <tr>
      <td width="210" align="right"> </td>
      <td> </td>
    </tr>
    <tr>
      <td width="210" align="right"><strong>Telefone 1</strong> : </td>
      <td><input name="ddd1" type="text" id="ddd1" size="3" maxlength="2" onkeypress="IsNumTel(this,event)"/> 
        - 
        <input name="telefone2" type="text" id="telefone2" size="15" maxlength="8" onkeypress="IsNumTel(this,event)"/> 
        - 
        <input name="ramal1" type="text" id="ramal1" size="6" onkeypress="IsNumTel(this,event)"/>       
        (DDD + Número + Ramal) <SPAN id="erro_validacaoTelefone1" style="display: inline; COLOR: red" class="error"></SPAN></td>
    </tr>
    <tr>
      <td width="210" align="right">Telefone 2 : </td>
      <td><label>
        <input name="ddd2" type="text" id="ddd2" size="3" maxlength="2" onkeypress="IsNumTel(this,event)"/>
      - 
      <input name="telefone1" type="text" id="telefone1" size="15" maxlength="8" onkeypress="IsNumTel(this,event)"/>
      - 
      <input name="ramal2" type="text" id="ramal2" size="6" onkeypress="IsNumTel(this,event)"/>
      (DDD + Número + Ramal) </label></td>
    </tr>
    <tr>
      <td width="210" align="right">Telefone Celular : </td>
      <td><input name="dddcel" type="text" id="dddcel" size="3" maxlength="2" onkeypress="IsNumTel(this,event)"/> 
        - 
        <input name="celular" type="text" id="celular" size="15" maxlength="8" onkeypress="IsNumTel(this,event)"/>       
        (DDD + Número) </td>
    </tr>
    <tr>
      <td width="210" align="right">Referência para entrega : </td>
      <td><input name="endereco2" type="text" id="endereco2" size="51" /></td>
    </tr>
    <tr>
      <td width="210" height="60" align="left" valign="bottom"><label></label></td>
      <td height="60" align="left" valign="bottom"><input name="bt_continuar" type="submit" id="bt_continuar" value="Continuar" /></td>
    </tr>
  </table>
  <p>  </p>
</form>
</body>
</html>

Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 0

Cara, é o seguinte, a primeira lida no código, constatei que você não tá validando o cpf nem cnpj, acho muito importante e fácil isso, se interessar tenho isso já.

validação de CPF(cod)

"// a função recebe como parâmetro uma variável string
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;
 }"
    
Validacao de CNPJ

         function validaCNPJ() {
               CNPJ = document.validacao.CNPJID.value;
                erro = new String;
                if (CNPJ.length < 18) erro += "É necessario preencher corretamente o número do CNPJ! \n\n";
                if ((CNPJ.charAt(2) != ".") || (CNPJ.charAt(6) != ".") || (CNPJ.charAt(10) != "/") || (CNPJ.charAt(15) != "-")){
                    if (erro.length == 0) erro += "É necessário preencher corretamente o número do CNPJ! \n\n";
                }
                //substituir os caracteres que não são números
                if(document.layers && parseInt(navigator.appVersion) == 4){
                    x = CNPJ.substring(0,2);
                    x += CNPJ. substring (3,6);       
                    x += CNPJ. substring (7,10);
                    x += CNPJ. substring (11,15);
                    x += CNPJ. substring (16,18);
                    CNPJ = x;
                } else {
                    CNPJ = CNPJ. replace (".","");
                    CNPJ = CNPJ. replace (".","");
                    CNPJ = CNPJ. replace ("-","");
                    CNPJ = CNPJ. replace ("/","");
                }
                var nonNumbers = /\D/;
                if (nonNumbers.test(CNPJ)) erro += "A verificação de CNPJ suporta apenas números! \n\n";
                var a = [];
                var b = new Number;
                var c = [6,5,4,3,2,9,8,7,6,5,4,3,2];
                for (i=0; i<12; i++){
                    a[i] = CNPJ.charAt(i);
                    b += a[i] * c[i+1];
                }
               if ((x = b % 11) < 2) { a[12] = 0 } else { a[12] = 11-x }         
                    b = 0;
                    for (y=0; y<13; y++) {
                    b += (a[y] * c[y]);
               }
               if ((x = b % 11) < 2) { a[13] = 0; } else { a[13] = 11-x; }
                if ((CNPJ.charAt(12) != a[12]) || (CNPJ.charAt(13) != a[13])){
                    erro +="Dígito verificador com problema!";
               }
               if (erro.length > 0){
                    alert(erro);  
                    return false;  
                } else {  
                    alert("CNPJ valido!");
                }
        return true;
        }

Link para o comentário
Compartilhar em outros sites

  • 0

Mudando um pouquinho de assunto qm pode me ajudar, não estou conseguindo fazer validar...qual pode ser o meu erro???

(...)
<script Language="JavaScript">
function valida(creas_e_associacoes){
if (creas_e_associacoes.empresa.value == ""){
alert("Digite o nome da Empresa");
creas_e_associacoes.empresa.focus();
return (false);
}
return (true);
}

function valida(creas_e_associacoes){
if (creas_e_associacoes.depart.value == ""){
alert("Digite o Departamento");
creas_e_associacoes.depart.focus();
return (false);
}
return (true);
}

function valida(creas_e_associacoes){
if (creas_e_associacoes.contato.value == ""){
alert("Digite um nome para Contato");
creas_e_associacoes.contato.focus();
return (false);
}
return (true);
}
</script>
      <div id="Layer1" style="position:absolute; left:151px; top:75px; width:850px; height:515px; z-index:1; overflow: auto;">
        <form name="creas_e_associacoes" method="post" action="envia_form_crea_e_associacoes.asp" language="JavaScript" onSubmit="return valida()">
          <table border="1" cellspacing="0" cellpadding="6" width="776" align="center" bordercolor="#999999">
            <tr>
(..)

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.


  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,6k
×
×
  • Criar Novo...