Validação de Formulários com Ajax e PHP
Eu administro vários portais que são constantemente atualizados por designers e jornalistas. Essa atualização constante acarreta na criação de diversos formulários, e mesmo radicalizando seu uso, a tarefa de validação dos dados sempre é trabalhosa e redundante.
Tentei o Dreamweaver, que tem uma rotina de validação. Mas, além do código não ser flexível, não é reutilizável. Isso cria arquivos maiores e de difícil manutenção dos códigos. Em busca de uma solução para esse problema encontrei duas classes fantásticas. Uma de validação no lado do cliente utilizando Ajax e outra no lado do servidor utilizando PHP. Ambas têm código limpo, bem estruturado e o melhor: são reutilizáveis e de fácil implantação.
O motivo de usar dois tipos de validação é simples: além da vantagem de não ter que recarregar a página caso algum dado não seja válido, a classe de validação Ajax não é obstrutiva, ou seja, se o usuário utiliza algum dispositivo que não permita o uso de javascript, o formulário não deixará de ser validado.
Validação de formulários com Ajax
Na validação no lado do cliente eu utilizo uma classe Ajax chamada Really easy field validation with Prototype. Sua implantação é muito fácil. Basta adicionar ao campo do formulário um comando no atributo class.
Exemplo de uso

No exemplo acima, se o usuário clicar no botão “Submit” sem preencher o campo “nome” o formulário não será enviado e uma mensagem de erro irá aparecer.
Se você quiser usar outra mensagem de erro é possível adicionado o atributo “title” ao elemento. O script automaticamente substitui a mensagem padrão pela definida. Por exemplo:
No elemento do formulário:

E na instância do objeto:

Você não precisa saber nada de Ajax pra utilizar esta classe, basta adicionar os atributos corretos e personalizar as mensagens e você já tem uma validação no lado do cliente. Junto com o arquivo da classe estão outros exemplos.
Validação de formulários com PHP
Para validação no lado do servidor eu utilizo uma classe feita em PHP chamada Validate_fields Class. Defino o tipo de dado que o campo do formulário receberá, e se o campo é de preenchimento obrigatório, e a classe automaticamente efetua a validação.
Os tipos de dados validados são:
- Texto (padrão)
- Numeros
- Decimais
- Data
- URL
- Checkboxes (e radio buttons)
Exemplo de uso

Note que o uso é bem simples e não precisamos ficar criando funções para analisar cada campo. Também coloquei outros exemplos de uso junto aos arquivos desta classe.
Depois que passei a utilizar estas duas classes nunca mais tive dor de cabeça na hora de criar e validar formulários!
Technorati Tags: Validação, Formulários, PHP, Ajax, Classes




Muito bom o artigo Pedro, não conhecia aquela classe.
Somente uma anotação, si a primeira validação for no cliente, não e necessário utilizar Ajax, a menos que queiramos fazer a validação no servidor sem ter que submeter a pagina.