Em Laravel, as validações de formulários e requisições são fundamentais para garantir que os dados enviados pelos usuários sejam válidos e seguros antes de serem processados ou armazenados no banco de dados. O Laravel oferece uma poderosa camada de validação que torna esse processo simples e eficiente.

Validação de formulários em Controladores:

Vamos começar com um exemplo simples de validação de um formulário enviado por um usuário em um controlador.

// app/Http/Controllers/UserController.php

namespace App\\\\Http\\\\Controllers;

use Illuminate\\\\Http\\\\Request;

class UserController extends Controller
{
    public function store(Request $request)
    {
        $validatedData = $request->validate([
            'name' => 'required|string|max:255',
            'email' => 'required|email|unique:users,email|max:255',
            'password' => 'required|string|min:6',
        ]);

        // Aqui você pode processar e armazenar os dados válidos no banco de dados
        // ...

        return redirect()->route('home')->with('success', 'Usuário criado com sucesso!');
    }
}

Neste exemplo, o método store() é responsável por lidar com a criação de um novo usuário. Utilizamos o método validate() do objeto $request para validar os dados enviados pelo usuário. O método validate() recebe um array associativo que define as regras de validação para cada campo do formulário.

Se os dados não passarem na validação, o Laravel automaticamente redireciona o usuário de volta ao formulário com os erros de validação para serem exibidos na view.

Validação em Rotas e Requisições Personalizadas:

Você também pode realizar validações em rotas e requisições personalizadas usando Form Requests. Form Requests são classes que encapsulam as regras de validação e podem ser reutilizadas em várias rotas ou métodos.

// app/Http/Requests/CreateUserRequest.php

namespace App\\\\Http\\\\Requests;

use Illuminate\\\\Foundation\\\\Http\\\\FormRequest;

class CreateUserRequest extends FormRequest
{
    public function rules()
    {
        return [
            'name' => 'required|string|max:255',
            'email' => 'required|email|unique:users,email|max:255',
            'password' => 'required|string|min:6',
        ];
    }
}
// app/Http/Controllers/UserController.php

namespace App\\\\Http\\\\Controllers;

use App\\\\Http\\\\Requests\\\\CreateUserRequest;

class UserController extends Controller
{
    public function store(CreateUserRequest $request)
    {
        // Os dados já foram validados antes de chegar aqui
        // ...

        return redirect()->route('home')->with('success', 'Usuário criado com sucesso!');
    }
}

No exemplo acima, criamos uma classe CreateUserRequest que herda de FormRequest e define as regras de validação para o formulário de criação de usuário. No controlador, em vez de utilizar o método validate() diretamente, utilizamos a classe CreateUserRequest para realizar a validação.

Esses são apenas alguns exemplos básicos de como realizar validações de formulários e requisições no Laravel. A validação é uma parte importante do desenvolvimento de aplicativos web para garantir a integridade dos dados e a segurança do sistema. O Laravel facilita esse processo com sua camada de validação poderosa e flexível, permitindo que você defina regras específicas para cada campo do formulário e garanta que os dados recebidos estejam corretos antes de serem processados. Lembre-se de consultar a documentação oficial do Laravel para obter mais informações detalhadas sobre validação e todas as regras disponíveis.

Laravel - The PHP Framework For Web Artisans