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> 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 } ?> |
<?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> 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 } ?>
O link para barixa o arquivo não está funcionando.
Olá Elson, link corrigido.
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