Laravel: Verificando se um e-mail existe na validação com Request

Uma dica simples mas que não pode faltar no seu repertório de regras de validação.

 Escrevendo testes automatizados com PHPUnit

Hoje vamos compartilhar uma dica bem simples, trata-se de um filtro que podemos inserir nas regras de validação, essa regra verifica, por exemplo, se um e-mail já existe na base de dados, caso exista, retorna uma mensagem de erro.

Você pode combinar a dica com diferentes tabelas e colunas, mas aqui vamos aplicar o filtro para verificar se o e-mail informado já está cadastrado na base de dados (tabelas users coluna email). Observe o código abaixo, ele pode ser aplicado em diferentes versões do Laravel.

$rules = [
    'name'       => 'required|min:3',
    'email'      => 'required|email|unique:users,email',
];

$messages = [
    'email.unique' => 'Este endereço de e-mail já está em uso. Por favor, escolha outro endereço de e-mail.',
];

//Check form fields.
$request->validate($rules, $messages);

Note que aplicamos a regra em unique:users,email.

Como é uma dica e rápida, chegamos ao final do nosso artigo.