Cadastro e Login - #17 Validate Isset Email
09/10/2018Vamos trabalhar hoje com uma segunda implementação de validação do nosso email, checando no banco de dados se o email já está cadastrado.
Validando se email já está cadastrado no banco
Nas aulas anteriores já havíamos validado se o tipo de dado que estava chegando no backend era um email, evitando assim que o usuário colocasse qualquer coisa no campo de email. Agora fazemos uma segunda validação verificando se o email já está cadastrado no banco e exibindo uma mensagem de alerta para o usuário caso o email já esteja cadastrado.
Para isso, utilizaremos o método validateIssetEmail():
#Validar se o email existe no banco de dados (action null para cadastro)
public function validateIssetEmail($email,$action=null)
{
$b=$this->cadastro->getIssetEmail($email);
if($action==null){
if($b > 0){
$this->setErro("Email já cadastrado!");
return false;
}else{
return true;
}
}else{
if($b > 0){
return true;
}else{
$this->setErro("Email não cadastrado!");
return false;
}
}
}
No nosso model ClassCadastro.php, criaremos o método getIssetEmail() que fará a pesquisa no DB e nos retornará a quantidade de linhas. Caso retorne um número maior que zero significa que o email já está inserido no banco e o cadastro não pode continuar.
#Veriricar se já existe o mesmo email cadastro no db
public function getIssetEmail($email)
{
$b=$this->selectDB(
"*",
"users",
"where email=?",
array(
$email
)
);
return $r=$b->rowCount();
}