QA
Beginner LevelLaravel

How do Request Validation and Form Request classes work in Laravel?

❓ Interview Prompt: Explain $request->validate(), Form Request classes (php artisan make:request), rules(), authorize(), and custom messages.

Laravel provides multiple approaches to validate incoming HTTP data:

1. Direct Controller Validation:

Call '$request->validate(["email" => "required|email"])'. If validation fails, Laravel redirects back with errors automatically.

2. Form Request Classes (Recommended for clean code):

Encapsulates validation rules and authorization logic inside a dedicated class ('StoreUserRequest'). Keeps controllers thin and testable!

Code Implementation Example

php
<?php
namespace AppHttpRequests;

use IlluminateFoundationHttpFormRequest;

class StoreProductRequest extends FormRequest
{
    public function authorize(): bool {
        return $this->user()->can('create-product');
    }

    public function rules(): array {
        return [
            'name' => ['required', 'string', 'max:255'],
            'price' => ['required', 'numeric', 'min:0.01'],
        ];
    }
}
💡Form Request class encapsulating authorization logic and validation rules.
🎯 Interview Key Takeaway

Use Form Request classes to separate validation and authorization rules from controller methods.

#Validation#Form Request#Security#Beginner
Back to all Laravel Questions→

More Laravel Interview Questions

Beginner LevelLaravel

How does the Laravel Service Container manage Dependency Injection and Bindings?

Beginner LevelLaravel

How does Routing work in Laravel including Named Routes and Route Parameters?

Beginner LevelLaravel

What is Blade Templating and how do custom directives work?