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!
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 |
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