Requests e Validação
Garanta a Integridade dos Dados com Requests e Validação no Laravel
Introdução
Ao construir uma aplicação web, é fundamental validar os dados que são submetidos pelos usuários. O Laravel oferece uma maneira fácil e eficaz de lidar com validação de dados através de Requests e de recursos integrados para validação.
Criando Requests
Requests são classes que encapsulam a lógica de validação de dados de entrada. Elas são usadas para validar os dados que são submetidos através de formulários HTTP.
Criando um Request
Você pode criar uma nova classe de Request usando o Artisan CLI:
php artisan make:request StorePostRequest
Isso criará um arquivo de Request em app/Http/Requests
.
Definindo Regras de Validação
Dentro da classe de Request, você pode definir as regras de validação no método rules
:
<?php
public function rules()
{
return [
'title' => 'required|string|max:255',
'body' => 'required|string',
];
}
Usando o Request
Para usar o Request em um controlador, basta injetá-lo no método desejado:
<?php
use App\Http\Requests\StorePostRequest;
public function store(StorePostRequest $request)
{
// Se chegar até aqui, os dados são válidos
// Lógica para salvar o post
}
Exibindo Mensagens de Erro
O Laravel fornece recursos para exibir mensagens de erro personalizadas quando a validação falha.
Exibindo Erros na View
Você pode exibir mensagens de erro diretamente na view usando a função @error
:
<?php
<input type="text" name="title" value="{{ old('title') }}">
@error('title')
<div class="alert alert-danger">{{ $message }}</div>
@enderror
Redirecionando com Mensagens de Erro
Ao redirecionar de volta ao formulário com mensagens de erro, você pode usar o método withErrors
:
<?php
return redirect('/form')
->withErrors($validator)
->withInput();
Validação em Controller
Você também pode validar dados diretamente nos métodos dos controladores, sem a necessidade de criar uma classe de Request separada.
Validação no Controller
Você pode validar os dados diretamente no método do controlador usando o facade Validator
:
<?php
use Illuminate\Support\Facades\Validator;
public function store(Request $request)
{
$validator = Validator::make($request->all(), [
'title' => 'required|string|max:255',
'body' => 'required|string',
]);
if ($validator->fails()) {
return redirect('/form')
->withErrors($validator)
->withInput();
}
// Lógica para salvar o post
}
Conclusão
Requests e Validação são partes essenciais do processo de desenvolvimento de uma aplicação web segura e funcional. O Laravel oferece uma maneira fácil e eficiente de validar os dados de entrada dos usuários, garantindo que apenas dados válidos sejam aceitos e processados pela aplicação. Ao utilizar Requests e as funcionalidades integradas de validação do Laravel, você pode construir uma aplicação robusta e confiável que oferece uma experiência de usuário consistente e livre de erros. Nos próximos tópicos, continuaremos explorando as poderosas ferramentas e recursos do Laravel para construir aplicações web incríveis.