Study
Laravel

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.

Editor Latihan

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.