Linux slogan
Visite também: Segurança Linux · BR-Linux.org · Dicas-L · Doode · NoticiasLinux · SoftwareLivre.org · UnderLinux



» Screenshot
Linux: Debian GNU/Linux
Por ZuluRJ
» Login
Login:
Senha:

Se você ainda não possui uma conta, clique aqui.

Esqueci minha senha



Artigo

Verificando a consistência de um formulário com JavaScript
Linux user
Oki
15/04/2003
Como construir uma rotina para consistir um formulário em JavaScript. Neste artigo explicaremos como consistir campos dos tipos texto, numérico e e-mail.
Por: Celso Goya
[ Hits: 44352 ]
Conceito: 9.5   2 voto(s)2 voto(s)2 voto(s)2 voto(s)2 voto(s) + quero dar nota ao artigo

Introdução

A consistência de formulários JavaScript é ideal para utilização em sistemas onde não seja necessários padrões elevados de segurança, por exemplo, sistemas administrativos de sites.

Para realizar esta consistência vamos utilizar 3 scripts que encontram-se na área de script. São eles: Passo 1

Adicione as seguintes linhas ao seu html.

<HTML>
<HEAD>
<SCRIPT LANGUAGE="JavaScript" SRC="isEmpty.js"></script>
<SCRIPT LANGUAGE="JavaScript" SRC="isNumber.js"></script>
<SCRIPT LANGUAGE="JavaScript" SRC="isEmail.js"></script>
</head>

Com estas linhas adicionadas será possível utilizar as funções contidas nestes arquivos .js

Passo 2

Atribua um nome para o seu formulário, neste caso chamamos de formTeste.

<FORM NAME="formTeste">

Lembre-se que é importante prestar atenção nas letras maiúsculas e minúsculas.

Passo 3

Adicione um evento OnSubmit ao seu formulário, ou seja quando o botão submit for pressionado chamaremos uma determinada rotina. Neste caso chamaremos a rotina checkForm.

<FORM NAME="formTeste" OnSubmit="return checkForm()">

Passo 4

Agora vamos criar uma rotina de validação.

<HTML>
<HEAD>
<SCRIPT LANGUAGE="JavaScript" SRC="isEmpty.js"></script>
<SCRIPT LANGUAGE="JavaScript" SRC="isNumber.js"></script>
<SCRIPT LANGUAGE="JavaScript" SRC="isEmail.js"></script>
<SCRIPT LANGUAGE="JavaScript">
function checkForm(){
   return true;
}
</script>
</head>

Passo 5

Vamos adicionar a validação do seguinte campo:

<INPUT TYPE="TEXT" NAME="nome" SIZE=20 MAXLENGTH=50>

Neste caso verificaremos se o campo está vazio, caso esteja vazio então deverá exibir um alerta.

<HTML>
<HEAD>
<SCRIPT LANGUAGE="JavaScript" SRC="isEmpty.js"></script>
<SCRIPT LANGUAGE="JavaScript" SRC="isNumber.js"></script>
<SCRIPT LANGUAGE="JavaScript" SRC="isEmail.js"></script>
<SCRIPT LANGUAGE="JavaScript">
function checkForm(){

   if(isEmpty(document.formTeste.nome.value)){
      alert("Por favor preencha seu nome");
      document.formTeste.nome.focus();
      return false;
   }

   return true;
}
</script>
</head>
Passo 6

Agora vamos validar um campo numérico:

<INPUT TYPE="TEXT" NAME="numero" SIZE=20 MAXLENGTH=50>

Neste caso verificaremos se o campo digitado corresponde a um número, ou seja, se não foi digitado nenhum tipo de caractere alfa numérico.

<HTML>
<HEAD>
<SCRIPT LANGUAGE="JavaScript" SRC="isEmpty.js"></script>
<SCRIPT LANGUAGE="JavaScript" SRC="isNumber.js"></script>
<SCRIPT LANGUAGE="JavaScript" SRC="isEmail.js"></script>
<SCRIPT LANGUAGE="JavaScript">
function checkForm(){

   if(isEmpty(document.formTeste.nome.value)){
      alert("Por favor preencha seu nome");
      document.formTeste.nome.focus();
      return false;
   }

   if(isNumber(document.formTeste.numero.value)){
      alert("Por favor preencha preencha o campo número com um número válido");
      document.formTeste.numero.focus();
      return false;
   }
   
   return true;
}
</script>
</head>

Passo 7

Agora vamos validar um e-mail:

<INPUT TYPE="TEXT" NAME="email" SIZE=20 MAXLENGTH=50>

O campo e-mail deve estar preenchido com um endereço de e-mail válido.

<HTML>
<HEAD>
<SCRIPT LANGUAGE="JavaScript" SRC="isEmpty.js"></script>
<SCRIPT LANGUAGE="JavaScript" SRC="isNumber.js"></script>
<SCRIPT LANGUAGE="JavaScript" SRC="isEmail.js"></script>
<SCRIPT LANGUAGE="JavaScript">
function checkForm(){
<BLOCKQUOTE>
   if(isEmpty(document.formTeste.nome.value)){
      alert("Por favor preencha seu nome");
      document.formTeste.nome.focus();
      return false;
   }

   if(isNumber(document.formTeste.numero.value)){
      alert("Por favor preencha preencha o campo número com um número válido");
      document.formTeste.numero.focus();
      return false;
   }
   
   if(isNumber(document.formTeste.email.value)){
      alert("Por favor informe um endereço de e-mail válido");
      document.formTeste.email.focus();
      return false;
   }

   return true;
</BLOCKQUOTE>
}
</script>
</head>

O erro mais comum na implementação destas rotinas é o mal uso de maiúsculas e minúsculas nos nomes de formulário, campo e rotina JavaScript. Sempre que ocorrer um erro verifique se o Case está correto.

Outro erro comum é quando utilizamos um <INPUT TYPE="IMAGE"> para submeter um formulário, pois neste caso em especial ele não aciona o evento OnSubmit.

Uma boa dica é utilizar o JavaScript debugger para Netscape ou então o MS Debugger para Internet Explorer.

Todas as rotinas utilizadas aqui são produzidas com JavaScript 1.0, sendo assim não existe o problema de incompatibilidade entre browsers.

Caso tenham dúvidas, por favor e-mail-me-at celso.goya@moinho.net

[]'s
Celso Goya





Páginas do artigo
   1. Introdução

Outros artigos deste autor

Leitura recomendada
Nenhum artigo encontrado.

Comentários
[1] Comentário enviado por XiS em 28/04/2004 - 13:29h:

Muito bom o artigo... simples e rápido.. porem quem não tem "intimidade" como o javascript pode apanhar devido a 2 pequenos erros que tem. O primeiro são as tags de BLOCKQUOTE que não deveriam estar ali... a outra é que na consistencia do email esta "isNumber" .. e deveria ser "isEmail" ... ok? so um toque no pessoal ae... ;) Nota 9.5 pro artigo.. que se corrigido.. leva 10!


[2] Comentário enviado por XiS em 28/04/2004 - 13:48h:

Galerinha.. no caso do "isNumber" eu acho melhor vc forçar a pessoa digitar so numero... um javascript que permite que so numeros sejam digitados... acho que vo escrever uma artigo sobre isso.. vamo ver


[3] Comentário enviado por LoboRaivoso em 28/07/2004 - 16:40h:

Os arquivos e o tutorial são bem legais, mas acho que as funções poderiam ser encapsuladas num arquivo só, facilitando a vida do programador.


[4] Comentário enviado por claudiovfernande em 04/08/2004 - 16:38h:

Só avaliei a função isEmail. Funciona bem, todavia não protege contra espaços em branco nos caracteres do email, o q pode ocasionar alguns problemas.


[5] Comentário enviado por jcsvbo em 10/06/2007 - 18:11h:

e


[6] Comentário enviado por comfaa em 28/10/2008 - 11:57h:

muito bom !!




Contribuir com comentário


  
Para executar esta ação você precisa estar logado no site, caso contrário, tudo o que for digitado será perdido.
Responsável pelo site: Fábio Berbert de Paula - Conteúdo distribuído sob licença GNU FDL
Site hospedado por:

Viva o Linux

A maior comunidade Linux da América Latina! Artigos, dicas, tutoriais, fórum, scripts e muito mais. Ideal para quem busca auto-ajuda em Linux.