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!

Laravel - Forms

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