0
0
Laravelframework~5 mins

Form request classes in Laravel

Choose your learning style9 modes available
Introduction

Form request classes help you check and clean user input before using it. They keep your code neat and safe.

When you want to check user input like forms or API data.
When you want to keep validation rules separate from your main code.
When you want to show clear error messages if input is wrong.
When you want to reuse validation rules in different parts of your app.
Syntax
Laravel
php artisan make:request RequestName

// Inside the generated class:
public function rules()
{
    return [
        'field' => 'rule1|rule2',
    ];
}

public function authorize()
{
    return true; // or false to block unauthorized users
}

The rules method returns validation rules as an array.

The authorize method controls if the user can make this request.

Examples
This example checks that email is present and valid, and password is at least 8 characters.
Laravel
public function rules()
{
    return [
        'email' => 'required|email',
        'password' => 'required|min:8'
    ];
}
This example only allows logged-in users to make the request.
Laravel
public function authorize()
{
    return auth()->check();
}
Sample Program

This form request checks user registration data. The controller uses it to get only valid data.

Laravel
<?php

namespace App\Http\Requests;

use Illuminate\Foundation\Http\FormRequest;

class RegisterUserRequest extends FormRequest
{
    public function authorize()
    {
        return true;
    }

    public function rules()
    {
        return [
            'name' => 'required|string|max:255',
            'email' => 'required|email|unique:users,email',
            'password' => 'required|string|min:8|confirmed'
        ];
    }
}

// In a controller method:
public function register(RegisterUserRequest $request)
{
    $data = $request->validated();
    // $data contains only valid input
    return 'User data is valid and ready to save.';
}
OutputSuccess
Important Notes

Always return true in authorize unless you want to block the request.

Use $request->validated() to get only the fields that passed validation.

Form requests automatically redirect back with errors if validation fails.

Summary

Form request classes keep validation rules organized and separate.

They help check user input safely before using it.

Use them to simplify your controller code and improve app security.