Laravel - Borang: Panduan Pemula
Hai sana, para pengembang yang sedang belajar! Sebagai guru ilmu komputer dengan pengalaman bertahun-tahun, saya sangat gembira untuk memandu anda melalui dunia yang menarik dari borang Laravel. Jangan khawatir jika anda baru dalam programming - kita akan mulai dari dasar dan naik tingkat perlahan-lahan. Pada akhir panduan ini, anda akan membuat borang seperti seorang pro!
Apa Itu Borang Laravel?
Sebelum kita masuk ke kode, mari kita pahami apa itu borang Laravel. Bayangkan anda mengisi formulir penggunaan kerja secara online - itu adalah borang! Dalam pengembangan web, borang adalah cara kita mengumpulkan informasi dari pengguna. Laravel, kerangka kerja PHP yang ramah, membuat membuat dan mengelola borang ini sangat mudah.
Mengapa Menggunakan Laravel untuk Borang?
Anda mungkin berpikir, "Mengapa Laravel?" Biarkan saya ceritakan sedikit. Kembali saat saya masih seorang pengembang muda (ya, dinosaurus pernah berjalan di bumi itu), membuat borang adalah proses yang membosankan. Tetapi Laravel datang seperti seorang superhero, membuat kehidupan kita lebih mudah dengan alat-alat yang kuat dan fitur keamanannya.
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 Borang Contact Sederhana
Mari kita mulai dengan borang contact sederhana. Kita akan membuat borang 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 borang contact saat seseorang mengunjungi URL '/contact'.
Langkah 2: Buat Controller
Jalankan perintah ini di terminal:
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 tampilan borang contact.
Langkah 3: Buat View
Buat file baru 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 sebagai tanda tangan rahasia antara borang anda dan Laravel. - Kita telah membuat field input untuk nama, email, dan textarea untuk pesan.
- Atribut
required
memastikan pengguna mengisi semua field sebelum mengirimkan.
Langkah 4: Tangani Pengiriman Borang
Tambahkan route baru di web.php
:
Route::post('/submit-contact', 'ContactController@submitForm');
Lalu, tambahkan method ini ke ContactController
:
public function submitForm(Request $request)
{
$validatedData = $request->validate([
'name' => 'required|max:255',
'email' => 'required|email',
'message' => 'required',
]);
// Proses data borang (misalnya, simpan ke database, kirim email)
return redirect('/contact')->with('success', 'Terima kasih pesan anda!');
}
Method ini memvalidasi data borang dan mengalihkan kembali ke halaman contact dengan pesan sukses.
Contoh 2: Membuat Borang Pendaftaran
Sekarang kita sudah warm-up, mari kita buat borang 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 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 di sini
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">Kata Sandi:</label>
<input type="password" id="password" name="password" required>
</div>
<div>
<label for="password_confirmation">Konfirmasi Kata Sandi:</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>
Borang ini termasuk berbagai jenis input: text, 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 yang valid | |
max:value | Panjang maksimum |
min:value | Panjang minimum |
unique:table | Harus unik dalam tabel database yang ditentukan |
confirmed | Harus memiliki field yang cocok (misalnya, password_confirmation) |
date | Harus berupa tanggal yang valid |
in:foo,bar,... | Harus salah satu dari nilai yang terdaftar |
Kesimpulan
Selamat! Anda baru saja membuat dua borang Laravel dan belajar bagaimana mengelola mereka. Ingat, latihan membuat ahli, jadi terus mencoba dengan jenis borang dan aturan validasi yang berbeda.
Saat kita selesailah, mari saya share cerita singkat. Pernah saya punya murid yang takut dengan borang - dia menganggap mereka hal yang kompleks dan mistis. Tetapi setelah beberapa pelajaran, dia membuat borang untuk kesenangan! Itu keindahan Laravel - ia membuat hal yang kompleks menjadi menyenangkan.
Terus coding, tetap curiga, dan jangan takut bertanya. Selamat membuat borang!
Credits: Image by storyset