Validasi Form di Laravel
Penjelasan
Laravel menyediakan validasi bawaan lewat method $request->validate() — kalau data tidak valid, Laravel otomatis redirect balik dengan pesan error (disimpan di session) tanpa kamu perlu menulis logika redirect manual. Pesan error ditampilkan di Blade lewat directive @error.
Contoh Konsep
<?php
// app/Http/Controllers/ProdukController.php
public function store(Request $request)
{
$data = $request->validate([
'nama' => 'required|min:3',
'email' => 'required|email',
'harga' => 'required|numeric|min:0',
]);
return "Data valid: {$data['nama']}";
}
{{-- resources/views/produk/create.blade.php --}}
<input type="text" name="nama">
@error('nama')
<p style="color:red">{{ $message }}</p>
@enderror
Praktikum
Buat method store(Request $request) yang memvalidasi input judul (wajib, minimal 5 karakter) dan penulis (wajib). Kembalikan teks "Tersimpan: {$data['judul']}" kalau lolos validasi.
Ketik/edit bebas di sini untuk latihan — kode ini tidak dijalankan.
Tips
Kalau validasi gagal, $request->validate() otomatis melempar ValidationException yang ditangkap Laravel dan di-redirect balik ke form sebelumnya beserta pesan error DAN input lama (lewat old()) — kamu tidak perlu menulis try/catch manual untuk kasus umum ini.