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.

Simplificando o desenvolvimento de APIs PHP com Swagger

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.