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

Validação de formulário com Javascript


Jessé Augusto

Pergunta

Boa noite pessoal !

Estou com a seguinte dúvida: Criei um formulário de cadastro de cliente que possui diversos campos, dentre eles o campo “Idade”.

Para validar o formulário utilizei Java Script, assim como você nos ensinou.

Criei a lógica de validação da seguinte forma:

Primeiro o programa verifica se o campo “Idade” foi preenchido.Se o campo não estiver preenchido é emitida uma mensagem informativa ("Por favor, preencha o campo 'Idade' !") solicitando o preenchimento do mesmo. Senão

é verificado se o valor digitado é um número.Caso não seja, uma mensagem é emitida (O campo 'Idade' deve conter apenas números!") , caso contrário, é observado se a idade fornecida é maior ou igual a 18 anos.

Em caso positivo, nenhuma mensagem é apresentada, senão é exibida uma mensagem para que o valor seja corrigido ( "A idade mínima para possuir cadastro no sistema é de 18 anos !");

Para que estas regras fossem efetuadas foi criada uma lógica.Logo, segundo ela as mensagens expostas acima deveriam estar na seguinte ordem : ("Por favor, preencha o campo 'Idade' !"), (O campo 'Idade' deve conter

apenas números!") e ( "A idade mínima para possuir cadastro no sistema é de 18 anos

de idade!").

Acontece que o apenas a mensagem "A idade mínima para possuir cadastro no sistema é de 18 anos de idade!") está sendo exibida, mesmo que não tenha sido digitado nada no campo “Idade”.Quando na verdade deveria

seguir a orem definida pelo aninhamento dos If ...else .

Segue o código para análise:

<script language="JavaScript" >
        function enviardados(){

       RecebeDadosForm = document.cadastrodeclientes;

       if(RecebeDadosForm.nomedocliente.value=="" || RecebeDadosForm.nomedocliente.value.length < 9)
        {
            alert( "Por favor, preencha corretamente o campo Nome!");
            RecebeDadosForm.nomedocliente.focus();
               return false;
        }
        if(RecebeDadosForm.sexodocliente.value=="" || RecebeDadosForm.sexodocliente.value.length > 9)
        {
            alert( "Por favor, preencha corretamente o campo Sexo!");
            RecebeDadosForm.sexodocliente.focus();
               return false;
        }
        
        if (RecebeDadosForm.idadedocliente.value="")
        {
           alert ("Por favor, preencha o campo 'Idade' !");
           RecebeDadosForm.idadedocliente.focus();
           return false;
        }
        else{
            if (isNaN(RecebeDadosForm.idadedocliente.value))
            {
                 alert ("O campo 'Idade' deve conter apenas números!");
                RecebeDadosForm.idadedocliente.focus();
                return false;
            }else
            {
            
                if(RecebeDadosForm.idadedocliente.value < 18 )
      {
           alert( "A idade mínima para possuir cadastro no sistema é de 18 anos de idade!");
         RecebeDadosForm.idadedocliente.focus();
             return false;
         }
            }
        
       }
        
          
        



          return true;
}

Observação: O nome do campo a ser avaliado em questão chama-se " idadedocliente "

Obrido pela atenção.

No aguardo...

Editado por Jonathan Queiroz
Remover caixa alta do título conforme regra 3.7 e adicionar tag's (Jonathan)
Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

pois é você está atribuindo valor 0 ao "idadedocliente" e não fazendo uma comparação para ver se está vazio

você pode usar o ou para usar um só if ou criar um outro if e verificar se a idade é maior que 19 e passar a mensagem de erro caso seja necessário

if (RecebeDadosForm.idadedocliente.value="")
        {
           alert ("Por favor, preencha o campo 'Idade' !");
           RecebeDadosForm.idadedocliente.focus();
           return false;
        }

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

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