Introduzione | Introduction
Italiano: Questo articolo è disponibile sia in italiano che in inglese. Scrolla verso il basso per la versione in inglese.
English: This article is available in both Italian and English. Scroll down for the English version.
🇮🇹 Laravel Form Request: guida pratica
Se stai ancora validando i tuoi form direttamente nel controller... è il momento di salire di livello.
Laravel ti offre una soluzione elegante: le Form Request class.
🧠 Perché usare le Form Request?
✅ Separano la logica di validazione dal controller
✅ Rendono il codice più leggibile e manutenibile
✅ Permettono autorizzazioni e logica custom
✅ Perfette per progetti professionali
✨ Creazione di una Form Request
Per creare una request personalizzata, usa Artisan:
php artisan make:request StorePostRequest
Laravel genererà una classe in app/Http/Requests
.
🛡️ Autorizzazione
Nel metodo authorize()
puoi controllare se l’utente è autorizzato a eseguire l’azione:
public function authorize(): bool
{
return auth()->check(); // o true se vuoi bypassare
}
🧾 Regole di validazione
Nel metodo rules()
definisci le regole:
public function rules(): array
{
return [
'title' => 'required|string|max:255',
'content' => 'required|min:10',
];
}
🧩 Come usarla nel controller
Nel tuo controller, invece di usare Request $request
, tipizza la classe:
use App\Http\Requests\StorePostRequest;
public function store(StorePostRequest $request)
{
// Se arrivi qui, i dati sono già validati
Post::create($request->validated());
}
📌 Suggerimenti extra
- Usa
messages()
per messaggi personalizzati - Usa
attributes()
per rinominare i campi nell'errore - Puoi usare
FormRequest
anche per API
🇬🇧 Laravel Form Request: a practical guide
Still validating your form data directly in your controller?
It’s time to level up and embrace Form Request classes in Laravel.
🧠 Why use Form Requests?
✅ Separates validation logic from controller
✅ Makes code cleaner and easier to maintain
✅ Supports authorization and custom logic
✅ A professional approach to input handling
✨ Create a Form Request
Generate a request using Artisan:
php artisan make:request StorePostRequest
Laravel will place the file in app/Http/Requests
.
🛡️ Authorization
Define authorization in the authorize()
method:
public function authorize(): bool
{
return auth()->check(); // or true to allow
}
🧾 Validation rules
Define your rules in the rules()
method:
public function rules(): array
{
return [
'title' => 'required|string|max:255',
'content' => 'required|min:10',
];
}
🧩 Use in the controller
In your controller, type-hint the custom request:
use App\Http\Requests\StorePostRequest;
public function store(StorePostRequest $request)
{
Post::create($request->validated());
}
📌 Extra tips
- Customize error messages via
messages()
- Rename fields in errors via
attributes()
- Works great for APIs too!
✅ Conclusione | Conclusion
Separare la validazione dal controller rende il tuo codice più chiaro, sicuro e professionale.
Separating validation from your controller makes your code cleaner, safer, and more professional.
Traduzione:
Questo articolo è stato tradotto con l'ausilio di strumenti di traduzione professionali.
Translation:
This article was translated with the help of professional translation tools.
Top comments (0)