Script completo para validação de formulários em PHP

Imagem: josue salazar

Uma das partes que considero mais chata em um projeto é a validação dos formulários de entrada de dados, eu acabo sempre emburrado ela para o final dos trabalhos, mas dessa vez acabei acumulando um monte de formulários para validar suas variáveis e pesando no trabalho que teria, comecei a buscar uma alternativa que minimizasse meu trabalho, reduzindo meu código e tempo. Fuçando a net eu encontrei uma solução interessante o PHP form Validation.

O script é uma classe PHP que recebe as variáveis enviadas pelo $_POST e verifica sua validade de acordo com os critérios que você especificar, o resultado é que com poucas linhas de código você é capaz fazer maravilhas.

O script é quase completo, porém em sua versão original não possuía uma função muito importante que é a validação de datas, além de usar algumas funções depreciadas nas versões mais novas do PHP.

Como o PHP form Validation esta sobre a licença GPL, eu adaptei e corrigi o script para as necessidades dos programadores nacionais e estou disponibilizando ele para vocês aqui.

A validação dos dados é muito importante para garantir a confiabilidade das informações que serão armazenadas no seu banco de dados, é bastante interessante não recorrer apenas ao PHP para validar seus formulários, usando Javascript, você tem a possibilidade de evitar fluxo de dados desnecessários ao servidor, verificando previamente os dados no lado do cliente, mas esse assunto fica para uma próxima abordagem, até lá.

Exemplo de utilização:

<?php
require_once "formvalidator.php"; //incluindo a classe no projeto
$Show_Form = true;
if(isset($_POST ['Submit']))
{
 $validator = new FormValidator(); //criando o objeto validador.
 $validator-> addValidation("Nome", "req", "Por favor, preencha seu name"); //aqui você define os campos que serão validados
 $validator-> addValidation("Email", "email","este e-mail não é válido"); //a opção de validação e a massagem de erro.
 $validator-> addValidation("Email", "req", "Por favor, preencha seu e-mail");
 if($validator-> ValidateForm())//aqui você define o código caso a validação seja bem sucedida.
 {
 echo "Sucesso na validação dos dados";
 $Show_Form = false;
 }
 else
 {
 echo "Erros de validação:"; //caso contrário serão exibidos os erros encontrados.
 
 $error_hash=$validator->GetErrors();
 foreach($error_hash as $inpname=>$inp_err)
 {
 echo "
<ul>
<ul>
	<li>$inpname: $inp_err</li>
</ul>
</ul>
&nbsp;
 
n"; } } } if(true == $Show_Form) { ?>
 
<form accept-charset="UTF-8" action="" method="POST" name="test">Nome:<input name="Nome" size="20" type="text" /> Email:<input name="Email" size="20" type="text" /> <input name="Submit" type="submit" value="Submit" /></form><?php } ?>

Gostou dessa matéria?

Inscreva seu email para receber atualizações com as últimas publicações do nosso blog.
[jetpack_subscription_form show_subscribers_total="false" button_on_newline="false" custom_font_size="16px" custom_border_radius="0" custom_border_weight="1" custom_padding="15" custom_spacing="10" submit_button_classes="" email_field_classes="" show_only_email_and_button="true" success_message="Sucesso! Enviamos um e-mail para confirmar a sua assinatura. Encontre o e-mail agora e clique em 'Confirmar' para iniciar a inscrição."]

4 opinaram!

Deixe sua opinião!
  1. bom dia.
    veja se pode ajudar?
    $dt_admissao_cliente =!empty( $_POST[“dt_admissao_cliente”] ) ? converteData( $_POST[“dt_admissao_cliente”] ):NULL;
    function converteData($data){
    $dataDB = explode(‘/’,$data);
    krsort($dataDB);
    $dataDB = implode(‘-‘, $dataDB);
    return $dataDB;
    }
    quando mando inserir apresenta o erro:
    Fatal error: Uncaught exception ‘PDOException’ with message ‘SQLSTATE[22007]: Invalid datetime format: 1292 Incorrect date value: ” for column ‘data_admissao_cliente’ at row 1′ in C:\wamp64\www\siteev\clientes\cadclientes.php on line 65
    obrigado pela atencao: Marcos

One Ping

  1. Pingback:

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *