Validar dados é uma peça-chave no desenvolvimento de sites e apps, porque é o que garante que as informações dos usuários estejam exatamente como desejamos. Quando se trata do Laravel e das famosas Laravel Form Requests, essa validação é essencial para manter a integridade e a segurança dos dados que o nosso aplicativo recebe.
O Laravel tem um sistema de validação embutido que faz com que a definição de regras, mensagens de erro personalizadas e feedback para o usuário sejam brincadeira de criança. Isso torna o desenvolvimento mais produtivo e amigável.
Neste post, vamos mergulhar de cabeça na validação no Laravel e apresentar exemplos práticos para o seu projeto.
Vamos começar com um olhar geral nas regras de validação disponíveis no Laravel e, em seguida, partir para exemplos reais de como aplicá-las em diferentes situações.
A validação é importante pra garantir que os dados inseridos no seu app sejam confiáveis. O Laravel tem um sistema de validação integrado que facilita essa tarefa. Vamos ver como usar o Laravel Validation com alguns exemplos.
Se você ainda precisa de uma introdução ao uso de validação em Laravel, eu recomendo você começar por esse post ou claro você pode checar a documentação oficial (em Inglês).
Pra começar, você precisa definir as regras de validação pra cada campo do seu formulário. Isso pode ser feito no Controller que processa o formulário.
No exemplo abaixo, estamos validando um formulário de login:
use Illuminate\Support\Facades\Validator;
$validator = Validator::make($request->all(), [
'email' => 'required|email',
'password' => 'required|min:6',
]);
Neste exemplo, estamos usando a classe Validator
para criar um objeto de validação. Estamos validando dois campos: email
e password
. A regra required
garante que esses campos sejam preenchidos, enquanto email
verifica se o campo email
contém um endereço de e-mail válido e min:6
garante que a senha tenha pelo menos 6 caracteres.
Depois de definir as regras de validação, você deve verificar se a validação foi bem-sucedida ou não. Isso é geralmente feito da seguinte maneira:
if ($validator->fails()) {
return redirect('login')
->withErrors($validator)
->withInput();
}
Neste exemplo, estamos verificando se a validação falhou. Se a validação falhar, redirecionamos o usuário de volta para a página de login, com as mensagens de erro e os dados de entrada anteriores, para que o usuário possa ver o que deu errado e corrigir os erros.
Ou se caso você estiver construindo uma API em Laravel, você pode usar esse alternativa:
if ($validator->fails()) {
return response()->json(['errors' => $validator->errors()], 400);
}
O uso básico da validação no Laravel é fácil, e você pode usá-la pra garantir que os dados inseridos no seu app sejam do jeito que você quer. Conforme você vai desenvolvendo, você pode explorar regras de validação e personalizações mais avançadas pra atender às necessidades do seu projeto.
Em Laravel, Form Requests são uma parte fundamental da validação de dados. Elas são usadas para validar os dados enviados por meio de formulários antes de serem processados pelo controller. O uso de Form Requests ajuda a manter seu código muito mais limpo e organizado, pois centraliza a lógica de validação em classes separadas.
Aqui estão os passos básicos para criar Form Requests no Laravel:
artisan make:request
. Abra seu terminal e execute o seguinte comando, substituindo “ExemploRequest” pelo nome que você deseja dar à sua Form Request: php artisan make:request ExemploRequest
Isso criará um novo arquivo em app/Http/Requests
com o nome ExemploRequest.php
. Esta classe será usada para definir as regras de validação para o seu formulário.
ExemploRequest.php
que você acabou de criar. Dentro desta classe, você pode definir as regras de validação no método rules()
. Por exemplo, se você estiver criando uma Form Request para validar um formulário de cadastro de usuário, suas regras de validação podem ser assim: public function rules()
{
return [
'nome' => 'required|string|max:255',
'email' => 'required|email|unique:users,email',
'senha' => 'required|string|min:6|confirmed',
];
}
Neste exemplo, estamos validando se o campo ‘nome’ é obrigatório e uma string com no máximo 255 caracteres, se o campo ‘email’ é obrigatório, um endereço de email válido e único na tabela ‘users’, e se o campo ‘senha’ é obrigatório, uma string com no mínimo 6 caracteres e se a confirmação de senha corresponde.
public function store(ExemploRequest $request)
{
// Se o código chegou até aqui, os dados foram validados com sucesso.
// Você pode continuar a processar os dados.
}
O Laravel automaticamente injeta a instância da Form Request (ExemploRequest
) e verifica se os dados são válidos antes de executar o método store()
.
Seguindo essas etapas, você pode criar Form Requests no Laravel para garantir que os dados inseridos em seus formulários sejam verificados de forma fácil e segura. Isso é como ter um guarda-costas para o seu aplicativo, evitando problemas e mantendo sua aplicação firme e confiável.
Personalizar as mensagens de erro de validação no Laravel é uma boa prática pra deixar a experiência do usuário mais informativa e amigável. O Laravel permite personalizar as mensagens de erro pra cada regra de validação, o que facilita comunicar problemas específicos de validação de campos. Aqui estão os passos pra customizar mensagens de erro de validação no Laravel.
messages()
do seu Form Request ou diretamente no controller, caso esteja validando campos em rotas. Dentro desse método, você deve retornar um array associativo onde as chaves representam as regras de validação que deseja personalizar e os valores são as mensagens de erro personalizadas. Por exemplo:public function messages()
{
return [
'nome.required' => 'O campo nome é obrigatório.',
'email.required' => 'O campo email é obrigatório.',
'idade.min' => 'A idade mínima permitida é 18 anos.',
];
}
Isso substituirá as mensagens de erro padrão fornecidas pelo Laravel para as regras de validação especificadas.
public function messages()
{
return [
'idade.min' => 'A idade deve ser no mínimo :min anos.',
];
}
O :min
será substituído pelo valor real definido na regra de validação.
validate()
. Por exemplo:Route::post('/usuarios', function (Request $request) {
$regras = [
'nome' => 'required|string|max:255',
'email' => 'required|email|unique:usuarios',
];
$mensagens = [
'nome.required' => 'Por favor, preencha o campo nome.',
'email.email' => 'Insira um endereço de email válido.',
];
$request->validate($regras, $mensagens);
// Se a validação passar, continue processando os dados.
});
Personalizar as mensagens de erro no Laravel é uma sacada valiosa, pois faz com que o aplicativo converse com o usuário de forma mais clara e apropriada. Isso não só melhora a experiência do usuário, mas também eleva a qualidade geral do seu aplicativo, tornando mais fácil entender e resolver problemas de validação nos campos. Portanto, fique à vontade para soltar a criatividade e tornar as mensagens mais amigáveis.
Neste post, aprendemos a importância da validação em Laravel para manter nossos dados seguros e garantir que tudo funcione como esperado.
Vimos como definir regras de validação para campos e como verificar se os dados estão corretos. Também exploramos como personalizar as mensagens de erro para tornar a experiência do usuário mais amigável.
Além disso, descobrimos como criar Form Requests, uma maneira organizada de lidar com a validação de dados, mantendo nosso código limpo e seguro.
Personalizar mensagens de erro é uma ótima prática para tornar o aplicativo mais amigável. Isso ajuda os usuários a entender e corrigir erros de forma mais fácil.
Dominar a validação é fundamental para criar aplicativos confiáveis. Use essas dicas para melhorar suas habilidades e criar aplicativos mais sólidos.
Deixe um comentário