Validation Laravel
Memvalidasi input form sebelum disimpan ke database menggunakan Laravel Validation
1. Pengertian Validation
Validation digunakan untuk memastikan data yang dikirim user sesuai dengan aturan yang ditentukan. Validation sangat penting untuk menjaga kualitas data dan mencegah kesalahan input.
Contoh:
  • Nama tidak boleh kosong
  • Email harus valid
  • NIM harus unik
  • Password minimal 8 karakter
Tanpa validation: * data kosong masuk database * format salah * duplicate data —
2. Validation di Controller
Laravel menyediakan method validate() untuk memvalidasi input form.
use Illuminate\Http\Request; public function store(Request $request) { $request->validate([ ‘nama’ => ‘required’, ‘nim’ => ‘required’, ‘jurusan’ => ‘required’ ]); }
Artinya: * nama wajib diisi * nim wajib diisi * jurusan wajib diisi —
3. Validation Lengkap CRUD
public function store(Request $request) { $request->validate([ ‘nama’ => ‘required’, ‘nim’ => ‘required|unique:mahasiswa’, ‘jurusan’ => ‘required’ ]); Mahasiswa::create($request->all()); return redirect(‘/mahasiswa’); }
Penjelasan:
  • required → wajib diisi
  • unique → tidak boleh sama
4. Menampilkan Error di Blade
Jika validation gagal, Laravel otomatis mengirim error ke view.
@if($errors->any()) @foreach($errors->all() as $error) {{$error}} @endforeach @endif
5. Error Per Field
@error(‘nama’) {{$message}} @enderror
6. Old Input
Old input digunakan agar data form tidak hilang saat validation gagal.
<input name=”nama” value=”{{ old(‘nama’) }}”>
7. Rule Validation Laravel
Beberapa rule penting:
required string numeric email min:3 max:10 unique:table confirmed
Contoh:
$request->validate([ ‘nama’ => ‘required|min:3’, ‘nim’ => ‘required|numeric’, ’email’ => ‘required|email’ ]);
8. Validation Update
Validation update berbeda dengan store karena unique harus mengabaikan id.
public function update(Request $request,$id) { $request->validate([ ‘nama’ => ‘required’, ‘nim’ => ‘required|unique:mahasiswa,nim,’.$id ]); }
9. Custom Message Validation
$request->validate([ ‘nama’=>’required’ ],[ ‘nama.required’=>’Nama wajib diisi’ ]);
10. Validation Form Lengkap
<form method=”POST”> @csrf <input name=”nama” value=”{{ old(‘nama’) }}”> @error(‘nama’) {{$message}} @enderror <button>Simpan</button> </form>
Mahasiswa telah memahami:
  • Konsep validation
  • Validation controller
  • Error validation
  • Old input
  • Rule validation
  • Custom message
  • Validation update