📡 You're offline — showing cached content
New version available!
Quick Access
Tutorials Laravel Framework Requests and Validation

Requests and Validation

6 min read Quiz at the end
Validate request input using inline rules or Form Request classes with custom error messages.

Requests and Validation

// Inline validation
$validated = $request->validate([
    "name"     => "required|string|max:255",
    "email"    => "required|email|unique:users",
    "password" => "required|min:8|confirmed",
    "age"      => "required|integer|between:18,100",
    "avatar"   => "nullable|image|max:2048",
    "role"     => "required|in:admin,user,moderator",
]);

// Form Request class
php artisan make:request StorePostRequest

class StorePostRequest extends FormRequest {
    public function authorize(): bool {
        return auth()->check();
    }

    public function rules(): array {
        return [
            "title" => ["required", "max:255"],
            "body"  => ["required", "min:10"],
        ];
    }

    public function messages(): array {
        return ["title.required" => "Post title is needed."];
    }
}

// Use in controller
public function store(StorePostRequest $request) {
    Post::create($request->validated());
}