Menerima data form saja tidak cukup — kita juga harus memastikan data tersebut valid sebelum diproses atau disimpan. Proses inilah yang disebut PHP Form Validation. Validasi yang baik mencegah data sampah masuk ke database dan melindungi aplikasi dari input berbahaya.
Kenapa Validasi di Sisi Server Wajib?
Banyak pemula mengandalkan validasi di sisi browser (HTML/JavaScript) saja. Padahal, validasi itu mudah dilewati. Validasi di sisi server (PHP) adalah garis pertahanan utama yang tidak bisa diakali pengguna, sehingga wajib ada.
Memeriksa Field yang Kosong
<?php
$error = [];
if (empty($_POST["nama"])) {
$error["nama"] = "Nama wajib diisi";
} else {
$nama = trim($_POST["nama"]);
}
?>
Kita mengumpulkan pesan error dalam sebuah array agar bisa menampilkan semua kesalahan sekaligus.
Validasi Format Email
Alih-alih membuat pola rumit, gunakan filter bawaan PHP:
<?php
if (!filter_var($_POST["email"], FILTER_VALIDATE_EMAIL)) {
$error["email"] = "Format email tidak valid";
}
?>
Validasi Angka dan Panjang Teks
<?php
if (!is_numeric($_POST["umur"])) {
$error["umur"] = "Umur harus berupa angka";
}
if (strlen($_POST["sandi"]) < 6) {
$error["sandi"] = "Sandi minimal 6 karakter";
}
?>
Memproses Hanya Jika Valid
Setelah semua pengecekan, lanjutkan hanya jika tidak ada error:
<?php
if (empty($error)) {
echo "Data valid, siap disimpan!";
// simpan ke database...
}
?>
Menampilkan Pesan Error di Form
Tampilkan pesan dari array $error di dekat input yang bersangkutan agar pengguna tahu apa yang perlu diperbaiki:
<input type="text" name="nama"> <?php if (isset($error["nama"])) echo $error["nama"]; ?>
Kesalahan Umum
- Hanya mengandalkan validasi JavaScript, yang mudah dilewati.
- Berhenti di error pertama, padahal lebih ramah menampilkan semua kesalahan sekaligus.
Kesimpulan
Dengan PHP Form Validation yang baik, Anda mencegah data tidak valid dan melindungi aplikasi dari input berbahaya. Ingat: validasi di sisi server wajib, meski sudah ada validasi di sisi browser.
Referensi: untuk penjelasan lebih mendalam, kunjungi dokumentasi resmi PHP (php.net).

