Bootstrap - Validation: A Guide for Beginners

Halo sana, para pengembang web yang sedang belajar! Hari ini, kita akan melihat dunia validasi Bootstrap. Sebagai guru komputer yang ramah di lingkungan sekitar Anda, saya sangat gembira untuk memandu Anda dalam perjalanan ini. Jangan khawatir jika Anda baru saja memulai programming – kita akan mulai dari dasar dan naik turun. Pada akhir panduan ini, Anda akan dapat memvalidasi formulir seperti seorang ahli!

Bootstrap - Validation

Apa Itu Validasi Bootstrap?

Sebelum kita masuk ke hal-hal kecil, mari kita pahami apa itu validasi Bootstrap. Bayangkan Anda mengisi formulir secara online dan secara tidak sengaja meninggalkan field yang diperlukan kosong. Tiba-tiba, formulir menandai field itu dengan merah, memberitahu Anda untuk mengisiannya. Itu adalah validasi formulir dalam aksi! Bootstrap, alat front-end yang dapat dipercaya, menyediakan fitur validasi bawaan untuk membuat proses ini mulus dan pengguna ramah.

Gaya Custom

Mari kita mulai dengan gaya custom untuk validasi formulir kita. Bootstrap memungkinkan kita menambahkan keunikan sendiri ke dalam proses validasi. Ini adalah contoh sederhana:

<form class="needs-validation" novalidate>
<div class="form-group">
<label for="username">Username</label>
<input type="text" class="form-control" id="username" required>
<div class="invalid-feedback">
Pilihlah username.
</div>
</div>
<button class="btn btn-primary" type="submit">Kirim formulir</button>
</form>

Dalam contoh ini, kita menambahkan kelas needs-validation ke formulir kita dan mengatur novalidate untuk mencegah validasi bawaan browser. Atribut required pada field input mengatakan ke Bootstrap bahwa field ini harus diisi.

Sekarang, mari kita tambahkan beberapa JavaScript untuk membuatnya bekerja:

(function() {
'use strict';
window.addEventListener('load', function() {
var forms = document.getElementsByClassName('needs-validation');
var validation = Array.prototype.filter.call(forms, function(form) {
form.addEventListener('submit', function(event) {
if (form.checkValidity() === false) {
event.preventDefault();
event.stopPropagation();
}
form.classList.add('was-validated');
}, false);
});
}, false);
})();

Kode JavaScript ini menambahkan pendengar peristiwa ke formulir kita, memeriksa validitas saat formulir dikirim. Jika formulir invalid, itu mencegah pengiriman dan menambahkan kelas was-validated, yang memicu gaya custom kita.

Gaya Bawaan Browser

kadang-kadang, Anda mungkin ingin menggunakan gaya validasi bawaan browser. Itu seperti membiarkan browser melakukan pekerjaan berat untuk Anda! Berikut cara Anda dapat melakukannya:

<form>
<div class="form-group">
<label for="email">Alamat Email</label>
<input type="email" class="form-control" id="email" required>
</div>
<button class="btn btn-primary" type="submit">Kirim</button>
</form>

Dalam kasus ini, kita menghapus kelas needs-validation dan atribut novalidate. Browser akan sekarang menangani validasi menggunakan gaya bawaannya.

Validasi Server-Side

Meskipun validasi client-side bagus untuk pengalaman pengguna, kita selalu harus mengimplementasikan validasi server-side untuk keamanan. Ini adalah contoh sederhana PHP:

<?php
if ($_SERVER["REQUEST_METHOD"] == "POST") {
$email = test_input($_POST["email"]);
if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
$emailErr = "Format email invalid";
}
}

function test_input($data) {
$data = trim($data);
$data = stripslashes($data);
$data = htmlspecialchars($data);
return $data;
}
?>

Kode PHP ini memeriksa apakah email yang dikirim valid. Selalu ingat: jangan pernah mempercayai input pengguna!

Element Yang Didukung

Validasi Bootstrap mendukung berbagai elemen formulir. Mari kita lihat beberapa:

<form class="needs-validation" novalidate>
<div class="form-group">
<label for="username">Username</label>
<input type="text" class="form-control" id="username" required>
</div>
<div class="form-group">
<label for="password">Password</label>
<input type="password" class="form-control" id="password" required>
</div>
<div class="form-group">
<label for="country">Negara</label>
<select class="form-control" id="country" required>
<option value="">Pilih...</option>
<option>USA</option>
<option>UK</option>
<option>Kanada</option>
</select>
</div>
<div class="form-group">
<div class="form-check">
<input class="form-check-input" type="checkbox" id="terms" required>
<label class="form-check-label" for="terms">
Setuju dengan syarat dan ketentuan
</label>
</div>
</div>
<button class="btn btn-primary" type="submit">Kirim formulir</button>
</form>

Formulir ini termasuk input teks, input password, dropdown pilihan, dan checkbox - semua didukung oleh validasi Bootstrap.

Tooltips

Ingin menambahkan sedikit keunikan ke pesan validasi Anda? Cobalah tooltips! Berikut cara Anda dapat melakukannya:

<form class="needs-validation" novalidate>
<div class="form-group">
<label for="username">Username</label>
<input type="text" class="form-control" id="username" required>
<div class="invalid-tooltip">
Pilihlah username yang unik.
</div>
</div>
<button class="btn btn-primary" type="submit">Kirim formulir</button>
</form>

Kita telah mengganti invalid-feedback dengan invalid-tooltip. Sekarang, instead of text below the input, Anda akan melihat tooltip yang menarik!

Metode Validasi

Berikut adalah tabel metode validasi umum yang Anda dapat gunakan:

Metode Deskripsi
required Field tidak boleh kosong
minlength Panjang karakter minimum
maxlength Panjang karakter maksimum
min Nilai minimum untuk input numerik
max Nilai maksimum untuk input numerik
type="email" Harus merupakan alamat email valid
pattern Harus cocok dengan pola tertentu

Ingat, Anda dapat menggabungkan metode ini untuk aturan validasi yang lebih kompleks!

Dan itulah, teman-teman! Kita telah melihat dasar-dasar validasi Bootstrap, dari gaya custom hingga tooltips. Ingat, latihan membuat sempurna, jadi jangan takut untuk mencoba konsep ini. Selamat coding, dan semoga formulir Anda selalu tervalidasi!

Credits: Image by storyset