JavaScript - Form Validation: A Beginner's Guide

Hai pengguna yang sedang belajar! Hari ini, kita akan mendalam ke dunia yang menarik dari validasi formulir JavaScript. Dalam tahun-tahun mengajar pemrograman, saya bisa katakan bahwa ini adalah salah satu keterampilan paling praktis dan penting yang Anda akan belajar. mari kita mulai!

JavaScript - Validations

Apa Itu Validasi Formulir?

Sebelum kita masuk ke kode, mari kita pahami apa itu validasi formulir dan mengapa itu penting. Bayangkan Anda mengisi formulir untuk memesan pizza secara online. Anda tentu tidak mau secara tidak sengaja memesan 1000 piza bukan 1, kan? Itu adalah tempat validasi formulir masuk - itu memeriksa data yang dimasukkan oleh pengguna untuk memastikan itu benar dan dalam format yang benar.

Validasi Formulir Dasar

1. Memeriksa Apakah Field Kosong

Mari kita mulai dengan validasi yang paling dasar - memeriksa apakah field kosong. Ini adalah contoh sederhana:

function validateForm() {
let x = document.forms["myForm"]["fname"].value;
if (x == "") {
alert("Nama harus diisi");
return false;
}
}

Dalam kode ini:

  • Kita mendapatkan nilai field yang dinamai "fname" dari formulir yang dinamai "myForm".
  • Jika nilai itu kosong (string kosong), kita menampilkan peringatan dan mengembalikan false, yang menghindari pengiriman formulir.

2. Validasi Masukan Numerik

Sekarang, mari kita pastikan field hanya mengandung angka:

function validateNumber() {
let x = document.getElementById("myNumber").value;
if (isNaN(x) || x < 1 || x > 100) {
alert("Input tidak valid");
return false;
}
}

Ini apa yang terjadi:

  • Kita mendapatkan nilai field dengan ID "myNumber".
  • Kita menggunakan isNaN() untuk memeriksa apakah itu bukan angka.
  • Kita juga memeriksa apakah angka itu antara 1 dan 100.
  • Jika salah satu dari kondisi ini benar, kita menampilkan peringatan dan mengembalikan false.

Validasi Format Data

1. Validasi Email

Salah satu validasi yang paling umum adalah memeriksa apakah alamat email dalam format yang benar. Ini adalah cara kita melakukannya:

function validateEmail() {
let email = document.getElementById("myEmail").value;
let regex = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;
if (!regex.test(email)) {
alert("Silakan masukkan alamat email yang valid");
return false;
}
}

Ini mungkin terlihat sedikit menakutkan, tapi mari kitauraikan:

  • Kita menggunakan ekspresi reguler (regex) untuk memeriksa format email.
  • Regex memeriksa:
  • Beberapa karakter yang bukan spasi atau @ ([^\s@]+)
  • Diikuti oleh simbol @
  • Diikuti oleh lebih banyak karakter yang bukan spasi atau @
  • Diikuti oleh titik
  • Diikuti oleh masih lebih banyak karakter yang bukan spasi atau @

2. Validasi Tanggal

Mari kita validasi tanggal untuk memastikan itu dalam format MM/DD/YYYY:

function validateDate() {
let date = document.getElementById("myDate").value;
let regex = /^(0[1-9]|1[0-2])\/(0[1-9]|[12][0-9]|3[01])\/\d{4}$/;
if (!regex.test(date)) {
alert("Silakan masukkan tanggal yang valid dalam format MM/DD/YYYY");
return false;
}
}

Regex ini bahkan lebih kompleks, tapi ini apa yang dilakukannya:

  • Itu memeriksa:
  • Sebuah bulan (01-12)
  • Diikuti oleh /
  • Sebuah hari (01-31)
  • Lagi /
  • Sebuah tahun 4-digit

Ingat, meskipun ini memeriksa format, itu tidak memeriksa apakah tanggal itu benar-benar valid (seperti Februari 30).

Menggabungkan Semua

Sekarang kita telah melihat validasi individual, mari kita gabungkannya ke dalam satu formulir:

<form name="myForm" onsubmit="return validateForm()">
Nama: <input type="text" name="fname"><br>
Umur: <input type="text" id="myNumber"><br>
Email: <input type="text" id="myEmail"><br>
Tanggal: <input type="text" id="myDate"><br>
<input type="submit" value="Kirim">
</form>

<script>
function validateForm() {
if (!validateName() || !validateNumber() || !validateEmail() || !validateDate()) {
return false;
}
return true;
}

function validateName() {
let x = document.forms["myForm"]["fname"].value;
if (x == "") {
alert("Nama harus diisi");
return false;
}
return true;
}

function validateNumber() {
let x = document.getElementById("myNumber").value;
if (isNaN(x) || x < 1 || x > 100) {
alert("Umur harus angka antara 1 dan 100");
return false;
}
return true;
}

function validateEmail() {
let email = document.getElementById("myEmail").value;
let regex = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;
if (!regex.test(email)) {
alert("Silakan masukkan alamat email yang valid");
return false;
}
return true;
}

function validateDate() {
let date = document.getElementById("myDate").value;
let regex = /^(0[1-9]|1[0-2])\/(0[1-9]|[12][0-9]|3[01])\/\d{4}$/;
if (!regex.test(date)) {
alert("Silakan masukkan tanggal yang valid dalam format MM/DD/YYYY");
return false;
}
return true;
}
</script>

Dalam contoh lengkap ini:

  • Kita memiliki formulir dengan field untuk nama, umur, email, dan tanggal.
  • Formulir onsubmit peristiwa memanggil validateForm().
  • validateForm() memanggil semua fungsi validasi individual kita.
  • Jika validasi mana pun gagal, pengiriman formulir dicegah.

Kesimpulan

Selamat! Anda telah belajar dasar validasi formulir JavaScript. Ingat, validasi tidak hanya tentang mencegah kesalahan - itu tentang menciptakan pengalaman pengguna yang baik. Dalam perjalanan pemrograman Anda, Anda akan menemukan banyak cara untuk meningkatkan formulir Anda dan membuatnya lebih ramah pengguna.

Berikut adalah tabel yang menggabungkan metode validasi yang kita pelajari:

Metode Tujuan Contoh
Pemeriksaan Field Kosong Memastikan field yang diperlukan terisi if (x == "")
Validasi Masukan Numerik Memeriksa apakah input adalah angka dan dalam rentang if (isNaN(x) || x < 1 || x > 100)
Validasi Email Memastikan format email if (!regex.test(email))
Validasi Format Tanggal Memastikan tanggal dalam format MM/DD/YYYY if (!regex.test(date))

Lanjutkan berlatih, dan segera Anda akan menjadi ahli validasi formulir! Ingat, setiap pemrogramer yang hebat dimulai tepat di tempat Anda sekarang. Selamat coding!

Credits: Image by storyset