Requests e Validação

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.

Did you find this article valuable?

Support Áreadev by becoming a sponsor. Any amount is appreciated!