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.