Form Request Validation
Penjelasan
Untuk validasi yang lebih kompleks atau dipakai berulang, aturan validasi bisa dipindah dari controller ke class Form Request tersendiri lewat php artisan make:request — controller jadi lebih ringkas, dan aturan validasi bisa dites terpisah.
Contoh Konsep
<?php
namespace App\Http\Requests;
use Illuminate\Foundation\Http\FormRequest;
class StoreProdukRequest extends FormRequest
{
public function authorize(): bool
{
return true; // izinkan semua user yang lolos middleware sebelumnya
}
public function rules(): array
{
return [
'nama' => 'required|min:3',
'harga' => 'required|numeric|min:0',
];
}
}
// Dipakai di controller, tinggal ganti type-hint:
public function store(StoreProdukRequest $request)
{
$data = $request->validated(); // validasi otomatis jalan sebelum method ini dieksekusi
return "Tersimpan: {$data['nama']}";
}
Praktikum
Buat Form Request StoreArtikelRequest dengan aturan judul (wajib, minimal 5 karakter) dan isi (wajib). Tulis juga contoh method store(StoreArtikelRequest $request) di controller yang memakainya.
Ketik/edit bebas di sini untuk latihan — kode ini tidak dijalankan.
Tips
Form Request otomatis menjalankan validasinya SEBELUM method controller dieksekusi — kalau validasi gagal, controller-nya bahkan TIDAK PERNAH dijalankan sama sekali, jadi kamu tidak perlu menulis pengecekan tambahan di dalam method itu.