Validasi Input
Validasi input adalah bagian penting dari pengembangan aplikasi web untuk memastikan bahwa data yang diterima sesuai dengan yang diharapkan. Laravel menyediakan berbagai cara untuk melakukan validasi input.
1. Persiapan
Pastikan Anda memiliki Laravel terinstal. Jika belum, Anda dapat menginstalnya dengan mengikuti langkah-langkah resmi di dokumentasi Laravel.
2. Membuat Formulir
Untuk mencoba validasi, pertama-tama kita perlu membuat formulir. Anda dapat menggunakan Blade untuk membuat tampilan.
<!-- resources/views/form.blade.php -->
<!DOCTYPE html>
<html>
<head>
<title>Form Validasi</title>
</head>
<body>
<form action="{{ route('submit.form') }}" method="POST">
@csrf
<label for="name">Nama:</label>
<input type="text" name="name" id="name" value="{{ old('name') }}">
@error('name')
<div>{{ $message }}</div>
@enderror
<label for="email">Email:</label>
<input type="email" name="email" id="email" value="{{ old('email') }}">
@error('email')
<div>{{ $message }}</div>
@enderror
<button type="submit">Kirim</button>
</form>
</body>
</html>
3. Menyiapkan Rute
Kemudian, kita perlu menyiapkan rute untuk menampilkan form dan mengolah data yang dikirim.
// routes/web.php
use App\Http\Controllers\FormController;
Route::get('/form', [FormController::class, 'show'])->name('show.form');
Route::post('/form', [FormController::class, 'submit'])->name('submit.form');
4. Membuat Controller
Buat controller untuk menangani logika pemrosesan form.
// app/Http/Controllers/FormController.php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
class FormController extends Controller
{
public function show()
{
return view('form');
}
public function submit(Request $request)
{
$validatedData = $request->validate([
'name' => 'required|string|max:255',
'email' => 'required|email|unique:users,email',
]);
// Proses data jika validasi berhasil
// Misalnya menyimpan ke database
return redirect()->back()->with('success', 'Data valid dan berhasil disimpan!');
}
}
5. Melakukan Validasi
Pada metode submit
, kita menggunakan $request->validate()
untuk memvalidasi input. Jika validasi gagal, Laravel secara otomatis akan mengalihkan kembali ke halaman sebelumnya dan menampilkan pesan kesalahan.
- Rule Validasi:
required
: Kolom harus diisi.string
: Kolom harus berupa string.max:255
: Panjang maksimum string.email
: Kolom harus berupa email yang valid.unique:users,email
: Email harus unik dalam tabelusers
.
6. Mengatasi Kesalahan Validasi
Pesan kesalahan akan ditampilkan di bawah kolom input jika validasi gagal. Anda bisa menyesuaikan pesan ini dalam file bahasa Laravel.
// resources/lang/en/validation.php
return [
'required' => 'Kolom :attribute harus diisi.',
'email' => 'Kolom :attribute harus merupakan email yang valid.',
'unique' => 'Email sudah terdaftar.',
];
7. Menjalankan Aplikasi
Jalankan aplikasi Laravel Anda dengan perintah:
php artisan serve
Akses aplikasi melalui browser di http://localhost:8000/form
.
Kesimpulan
Validasi input sangat penting untuk menjaga integritas data dalam aplikasi Anda. Laravel memberikan cara yang mudah dan efektif untuk melakukan validasi. Anda dapat menyesuaikan aturan dan pesan validasi sesuai dengan kebutuhan aplikasi Anda.
Untuk lebih lanjut tentang validasi di Laravel, Anda dapat merujuk ke dokumentasi resmi Laravel.