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 tabel users.

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.