Home
Button Mobile Webdesign em Foco
Newsletter Webdesign em Foco
Support Webdesign em Foco
Contribuition Webdesign em Foco
Doe para a Webdesign em Foco
Suporte da Webdesign em Foco
Fechar

Cadastro e Login - #13 Validate Fields

01/10/2018

Hoje faremos a primeira validação do sistema. Verificaremos no lado servidor se todos os campos do formulário foram preenchidos pelo usuário.

Validação de campos no PHP

Com intuito de validar os dados recebidos, criaremos primeiramente dentro da pasta helpers o arquivo variables.php. Esse arquivo receberá todas as variáveis do nosso sistema.

<?php
if(isset($_POST['nome'])){$nome=filter_input(INPUT_POST,'nome',FILTER_SANITIZE_FULL_SPECIAL_CHARS);}else{$nome=null;}
if(isset($_POST['email'])){$email=filter_input(INPUT_POST,'email',FILTER_VALIDATE_EMAIL);}else{$email=null;}
if(isset($_POST['cpf'])){$cpf=filter_input(INPUT_POST,'cpf',FILTER_SANITIZE_FULL_SPECIAL_CHARS);}else{$cpf=null;}
if(isset($_POST['dataNascimento'])){$dataNascimento=filter_input(INPUT_POST,'dataNascimento',FILTER_SANITIZE_FULL_SPECIAL_CHARS);}else{$dataNascimento=null;}
if(isset($_POST['senha'])){$senha=$_POST['senha']; $hashSenha='';}else{$senha=null; $hashSenha=null;}
if(isset($_POST['senhaConf'])){$senhaConf=$_POST['senhaConf'];}else{$senhaConf=null;}
$dataCreate=date("Y-m-d H:i:s");
$token=bin2hex(random_bytes(64));

No código acima, para a utilização da função random_bytes() é necessário utilizar o PHP7+. Incluiremos esse arquivo na nossa index principal:

<?php
header("Content-Type: text/html; charset=utf-8");
include("config/config.php");
include(DIRREQ."helpers/variables.php");
include(DIRREQ."lib/vendor/autoload.php");
$dispatch=new Classes\ClassDispatch();
include($dispatch->getInclusao());

Criaremos também a ClassValidate.php que receberá todos os métodos de validação:

<?php
namespace Classes;

class ClassValidate{

    private $erro=[];

    public function getErro()
    {
        return $this->erro;
    }

    public function setErro($erro)
    {
        array_push($this->erro,$erro);
    }

    #Validar se os campos desejados foram preenchidos
    public function validateFields($par)
    {
        $i=0;
        foreach ($par as $key => $value){
            if(empty($value)){
                $i++;
            }
        }
        if($i==0){
            return true;
        }else{
            $this->setErro("Preencha todos os dados!");
            return false;
        }
    }
}

O controllerCadastro.php recepcionará a instância da ClassValidate e chamará os métodos de validação:

<?php
$validate=new Classes\ClassValidate();
$validate->validateFields($_POST);
var_dump($validate->getErro());

Debugamos o método getErro() para visualizarmos os retornos de erros do sistema!

Sucesso nos códigos e na vida!

Receba as aulas da Webdesign em Foco em Seu Email
Suporte Webdesign em Foco

Posts Relacionados

Cadastro e Login - #12 ClassCrud
Na vídeo-aula de hoje faremos a nossa ClassCrud que será responsável por agilizar nossa manipulação de selects, updates, deletes e inserts no nosso db.
Saiba mais!
Cadastro e Login - #14 Validate Email, Data e CPF
Na vídeo-aula de hoje realizaremos a validação de email, data e cpf dentro da nossa ClassValidate.
Saiba mais!
Cadastro e Login
Neste curso vamos aprender a criar um sistema completo de cadastro e login.
Saiba mais!