Quem programa na web ou mesmo quem trabalha em relação a web, muitas vezes se depara com formulários e consequentemente com a validação de dados. Porém, eu desenvolvi uma simples classe para que a validação dos dados seja de forma mais rápida, pois você não precisa ficar repetindo o código toda vez que precisar validar os dados do formulário.
Antes de mais nada, clique aqui para baixar o arquivo de validação.
Esta classe valida os seguintes tipos de dados:
// Email
validarEmail('valor');
// CEP (XXXXX-XXX)
validarCep('valor');
// Data (DD/MM/AAAAA)
validarData('valor');
// Telefone (01433333333)
validarTelefone('valor');
// CPF (11111111111)
validarCpf('valor');
// IP (192.168.10.1)
validarIp('valor');
// Numero (1,200,500)
validarNumero('nomedoCampo', 'valor');
// Url (http://www.google.com.br)
validarUrl('valor');
// Campo vazio, Mínimo/Máximo de Caracteres
validarCampo('nomedoCampo', 'valor', 'maximo', 'minimo');
Primeiramente, é necessário incluir o arquivo de validação:
<?php
include("validacao.php");
?>
ou
<?php
require_once("validacao.php");
?>
Agora já podemos trabalhar com a classe. Vamos supor que o usuário já preencheu um formulário e nesse arquivo iremos receber os dados dele:
<?php
// Incluimos o arquivo de validação
include("validacao.php");
// Obtemos os dados do formulário
$nome = $_POST["nome"]; // Nome do usuário
$email = $_POST["email"]; // Email do usuário
$cep = $_POST["cep"]; // CEP do usuário
$id = $_POST["id"]; // ID do usuário
$site = $_POST["site"]; // Website do usuário
?>
O código acima é somente um exemplo para podemos entender como funciona a classe. Bom, acho que até aqui nenhum segredo, certo? É agora que entra a classe de validação, antes de mais nada precisamos instanciar a classe:
<?php
// Incluimos o arquivo de validação
include("validacao.php");
// Obtemos os dados do formulário
$nome = $_POST["nome"];
$email = $_POST["email"];
$cep = $_POST["cep"];
$id = $_POST["id"];
$site = $_POST["site"];
// Instanciamos a classe
$v = new validacao;
?>
Já com a classe instanciada, podemos iniciar a validação dos dados, para validarmos o nome por exemplo, vamos utilizar o validarCampo, ou seja:
<?php
// Incluimos o arquivo de validação
include("validacao.php");
// Obtemos os dados do formulário
$nome = $_POST["nome"];
$email = $_POST["email"];
$cep = $_POST["cep"];
$id = $_POST["id"];
$site = $_POST["site"];
// Instanciamos a classe
$v = new validacao;
echo $v->validarCampo("Nome", $nome, "25", "2");
/* Caso o nome esteje em branco, tenha mais de 25 caracteres
ou menos de 2 caracteres será retornado um erro */
?>
Agora validamos os outros dados com suas devidas funções:
<?php
// Incluimos o arquivo de validação
include("validacao.php");
// Obtemos os dados do formulário
$nome = $_POST["nome"];
$email = $_POST["email"];
$cep = $_POST["cep"];
$id = $_POST["id"];
$site = $_POST["site"];
// Instanciamos a classe
$v = new validacao;
echo $v->validarCampo("Nome", $nome, "25", "2");
echo $v->validarEmail($email);
echo $v->validarCep($cep);
echo $v->validarNumero("ID", $id);
echo $v->validarUrl($site);
?>
Além da verificação dos dados, temos que saber se houve algum erro para podermos, por exemplo, inserir os dados no banco de dados. Para isso, a classe também tem a função verifica(), que vai verificar se houve algum erro nos dados:
<?php
// Incluimos o arquivo de validação
include("validacao.php");
// Obtemos os dados do formulário
$nome = $_POST["nome"];
$email = $_POST["email"];
$cep = $_POST["cep"];
$id = $_POST["id"];
$site = $_POST["site"];
// Instanciamos a classe
$v = new validacao;
echo $v->validarCampo("Nome", $nome, "25", "2");
echo $v->validarEmail($email);
echo $v->validarCep($cep);
echo $v->validarNumero("ID", $id);
echo $v->validarUrl($site);
/* Caso não haja nenhum erro,
realizamos as ações necessárias com os dados */
if ($v->verifica()) {
echo "Os dados estão OK";
}
?>
Pronto, conseguimos validar os dados com um código menor e em menos tempo. Você também pode alterar as mensagens de erro no validacao.php, logo no início do código é possível customizar as mensagens de acordo com sua necessidade:
<?php
class validacao {
var $campo;
var $valor;
var $msg = array();
// Mensagens de erro
function mensagens($num, $campo, $max, $min) {
$this->msg[0] = "Preencha o campo com um email válido <br />"; // EMAIL
$this->msg[1] = "CEP com formato inválido (Ex: XXXXX-XXX) <br />"; // CEP
$this->msg[2] = "Data em formato inválido (Ex: DD/MM/AAAA) <br />"; // DATA
$this->msg[3] = "Telefone inválido (Ex: 01433333333) <br />"; // TELEFONE
$this->msg[4] = "CPF inválido (Ex: 11111111111) <br />"; // CPF
$this->msg[5] = "IP inválido (Ex: 192.168.10.1) <br />"; // IP
$this->msg[6] = "Preencha o campo ".$campo." com numeros <br />"; // APENAS NUMEROS
$this->msg[7] = "URL especificada é inválida (Ex: http://www.google.com) <br />"; // URL
$this->msg[8] = "Preencha o campo ".$campo." <br />"; // CAMPO VAZIO
$this->msg[9] = "O ".$campo." deve ter no máximo ".$max." caracteres <br />"; // MÁXIMO DE CARACTERES
$this->msg[10] = "O ".$campo." deve ter no mínimo ".$min." caracteres <br />"; // MÍNIMO DE CARACTERES
return $this->msg[$num];
}
# [....]
?>
Você pode editar a classe de acordo com sua necessidade, pois talvez não seja muito flexível, porém por diminuir nosso código, pode ser muito útil no dia-a-dia.