Laravel - Forms: A Beginner's Guide

Halo teman-teman yang sedang belajar! Sebagai guru ilmu komputer dengan pengalaman bertahun-tahun, saya sangat gembira untuk memandu Anda melalui dunia menarik dari formulir Laravel. Jangan khawatir jika Anda baru saja memulai dalam programming – kita akan mulai dari dasar dan kemudian naik tingkat. Pada akhir panduan ini, Anda akan membuat formulir seperti seorang ahli!

Laravel - Forms

Apa Itu Formulir Laravel?

Sebelum kita masuk ke kode, mari kita pahami apa itu formulir Laravel. Bayangkan Anda mengisi formulir penggunaan kerja secara online – itu adalah formulir! Dalam pengembangan web, formulir adalah cara kita mengumpulkan informasi dari pengguna. Laravel, kerangka kerja PHP yang ramah, membuat membuat dan mengelola formulir ini sangat mudah.

Mengapa Menggunakan Laravel untuk Formulir?

Anda mungkin berpikir, "Mengapa Laravel?" Biar saya ceritakan kecil. Kembali saat saya masih seorang pengembang muda (ya, dinosaurus mendiami bumi itu saat itu), membuat formulir adalah proses yang membosankan. Tetapi Laravel datang seperti superhero, membuat hidup kita menjadi lebih mudah dengan tools dan fitur keamanannya yang kuat.

Memulai

Pertama-tama, pastikan Anda sudah menginstal Laravel di sistem Anda. Jika belum, jangan khawatir! Cukup ikuti panduan instalasi resmi Laravel, dan Anda akan siap dalam waktu singkat.

Contoh 1: Membuat Formulir Contact Sederhana

Mari kita mulai dengan formulir contact sederhana. Kita akan membuat formulir yang meminta nama, email, dan pesan.

Langkah 1: Buat Route

Buka file web.php di folder routes dan tambahkan baris ini:

Route::get('/contact', 'ContactController@showForm');

Ini memberitahu Laravel untuk menampilkan formulir contact kita saat seseorang mengunjungi URL '/contact'.

Langkah 2: Buat Controller

Jalankan perintah ini di terminal Anda:

php artisan make:controller ContactController

Sekarang, buka file ContactController.php yang baru dibuat dan tambahkan method ini:

public function showForm()
{
return view('contact');
}

Method ini akan mengembalikan view formulir contact kita.

Langkah 3: Buat View

Buat file baru bernama contact.blade.php di folder resources/views dan tambahkan kode ini:

<form action="/submit-contact" method="POST">
@csrf
<div>
<label for="name">Nama:</label>
<input type="text" id="name" name="name" required>
</div>
<div>
<label for="email">Email:</label>
<input type="email" id="email" name="email" required>
</div>
<div>
<label for="message">Pesan:</label>
<textarea id="message" name="message" required></textarea>
</div>
<button type="submit">Kirim</button>
</form>

mari kitauraikan ini:

  • @csrf adalah direktif Laravel yang menambahkan token tersembunyi untuk mencegah serangan cross-site request forgery. Pahamiannya seperti shakenya rahasia antara formulir Anda dan Laravel.
  • Kita telah membuat field input untuk nama, email, dan textarea untuk pesan.
  • Atribut required memastikan pengguna mengisi semua field sebelum mengirim.

Langkah 4: Tangani Pengiriman Formulir

Tambahkan route baru di web.php:

Route::post('/submit-contact', 'ContactController@submitForm');

Lalu, tambahkan method ini ke ContactController Anda:

public function submitForm(Request $request)
{
$validatedData = $request->validate([
'name' => 'required|max:255',
'email' => 'required|email',
'message' => 'required',
]);

// Proses data formulir (misalnya, simpan ke database, kirim email)

return redirect('/contact')->with('success', 'Terima kasih pesan Anda!');
}

Method ini memvalidasi data formulir dan mengarahkan kembali ke halaman contact dengan pesan sukses.

Contoh 2: Membuat Formulir Pendaftaran

Sekarang kita sudah mulai, mari kita buat formulir pendaftaran yang lebih kompleks.

Langkah 1: Buat Route

Tambahkan ini ke web.php:

Route::get('/register', 'RegisterController@showForm');
Route::post('/register', 'RegisterController@register');

Langkah 2: Buat Controller

Jalankan:

php artisan make:controller RegisterController

Tambahkan method-method ini ke RegisterController:

public function showForm()
{
return view('register');
}

public function register(Request $request)
{
$validatedData = $request->validate([
'name' => 'required|max:255',
'email' => 'required|email|unique:users',
'password' => 'required|min:8|confirmed',
'date_of_birth' => 'required|date',
'gender' => 'required|in:male,female,other',
]);

// Logika membuat pengguna disini

return redirect('/register')->with('success', 'Pendaftaran sukses!');
}

Langkah 3: Buat View

Buat register.blade.php di folder views:

<form action="/register" method="POST">
@csrf
<div>
<label for="name">Nama:</label>
<input type="text" id="name" name="name" required>
</div>
<div>
<label for="email">Email:</label>
<input type="email" id="email" name="email" required>
</div>
<div>
<label for="password">Password:</label>
<input type="password" id="password" name="password" required>
</div>
<div>
<label for="password_confirmation">Konfirmasi Password:</label>
<input type="password" id="password_confirmation" name="password_confirmation" required>
</div>
<div>
<label for="date_of_birth">Tanggal Lahir:</label>
<input type="date" id="date_of_birth" name="date_of_birth" required>
</div>
<div>
<label>Jenis Kelamin:</label>
<input type="radio" id="male" name="gender" value="male" required>
<label for="male">Pria</label>
<input type="radio" id="female" name="gender" value="female">
<label for="female">Wanita</label>
<input type="radio" id="other" name="gender" value="other">
<label for="other">Lainnya</label>
</div>
<button type="submit">Daftar</button>
</form>

Formulir ini termasuk berbagai jenis input: teks, email, password, tanggal, dan tombol radio.

Metode Validasi Umum

Berikut adalah tabel metode validasi umum Laravel:

Metode Deskripsi
required Field harus tidak kosong
email Harus berupa alamat email valid
max:value Panjang maksimum
min:value Panjang minimum
unique:table Harus unik dalam tabel tertentu
confirmed Harus memiliki field yang cocok (misalnya, password_confirmation)
date Harus berupa tanggal valid
in:foo,bar,... Harus salah satu dari nilai yang ditentukan

Kesimpulan

Selamat! Anda telah membuat dua formulir Laravel dan belajar bagaimana mengelola mereka. Ingat, latihan membuat sempurna, jadi terus mencoba dengan jenis formulir dan aturan validasi yang berbeda.

Saat kita selesai, saya ingin berbagi cerita singkat. Ada seorang murid saya yang sangat takut terhadap formulir – dia menganggap mereka sebagai sesuatu yang kompleks dan mistis. Tetapi setelah beberapa pelajaran, dia membuat formulir untuk kesenangan! Itu keindahan Laravel – dia membuat yang kompleks menjadi menyenangkan.

Terus coding, tetap curiga, dan jangan takut untuk bertanya. Selamat membuat formulir!

Credits: Image by storyset