Parte do trabalho de qualquer programador é validar os dados que são entrados em seus programas. No PHP, isso não é diferente. O meio mais convencional para se receber dados dos usuários é através de formulários, mas também pode-se receber dados de outras formas (XML, arquivos, conexões de rede, entre outras).
A validação é importantíssima, pois sem ela, o programa pode trabalhar com dados inválidos, e muitos problemas podem acontecer:
No caso de aplicações em PHP, com a saída via web, a validação ainda deve ser feita, preferencialmente, duas vezes: uma do lado do cliente (em Javascript) para se evitar que os dados inválidos sejam enviados, e outra do lado do servidor (em PHP), para evitar que dados inválidos tenham sido enviados por um navegador sem Javascript (ou com o Javascript desligado), ou maliciosamente por alguem. A validação em Javascript foge do escopo deste artigo, que irá tratar da validação dos dados em PHP.
Sempre que possível, devemos evitar reescrever código já disponível, principalmente quando o código já disponível é de qualidade, como acontece com a maioria das classes disponíveis no PEAR, que devem seguir uma padronização de código bem rigorosa para serem aceitas.
Uma das classes disponíveis no PEAR é a Validate, que é uma classe genérica para validação de dados. A classe pode validar os seguintes tipos de dados:
A utilização é bastante simples. Uma vez instalada (é apenas um arquivo, chamado Validate.php), basta chamar estaticamente seus métodos, passando o dado a ser validado como primeiro parâmetro, e as opções de validação (quando aplicáveis) como segundo parâmetro. Os métodos retornam true ou false, indicando se a validação passou ou não.
Por exemplo, para validar um número em $num como sendo um número de 0 a 100 com no máximo 2 casas decimais, a chamada seria a seguinte:
<?php $opt = Array('decimal' => '.', 'dec_prec' => 2, 'min' => 0, 'max' => 100); if (Validate::number($num, $opt)) { // validação ok! } ?>
Os outros métodos são semelhantes, e para se saber quais são as opções que podem ser passadas, basta olhar os métodos disponíveis diretamente na documentação da classe, ou então diretamente dentro do arquivo da classe.
Assim como a classe Validate provê métodos úteis para a validação de dados genéricos, temos também disponível a classe Validate_ptBR, que disponibiliza métodos para validação de dados específicos do Brasil. A classe valida os seguintes tipos de dados:
A utilização da classe é semelhante à classe Validate, bastando chamadas estáticas aos seus métodos. Assim como na classe Validate, para saber os métodos disponíveis e seus parâmetros, basta examinar a documentação da classe.
Feed RSS para os comentários deste artigo.
August 30th, 2009 às 09:39
Olá, eu também fiz uma postagem sobre validação de email, só que usei um método muito funcional, que verifica se realmente o host existe.
http://www.gasparimsat.com/index.php/21/08/2009/validacao-do-email-pelo-host-usando-php/
Ex: A pessoa escreve email@bol.com.br, ele verifica se o host “Bol” existe.
August 30th, 2009 às 21:51
realmente você está certo, logo vou postar dessa forma e colocando os créditos é claro.
Muito Obrigado.