Study
Laravel

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.

Editor Latihan

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.