Teknik untuk menangani dan menampilkan pesan error dengan rapi.
Flow Validasi
Cek apakah form disubmit
Validasi setiap field
Simpan error dalam array
Jika ada error, tampilkan pesan
Jika tidak ada error, proses data
// Inisialisasi array error
$errors = [];
// Cek jika form disubmit
if ($_SERVER["REQUEST_METHOD"] == "POST") {
// Validasi nama
if (empty($_POST['nama'])) {
$errors['nama'] = "Nama harus diisi";
}
// Validasi email
if (empty($_POST['email'])) {
$errors['email'] = "Email harus diisi";
} elseif (!filter_var($_POST['email'], FILTER_VALIDATE_EMAIL)) {
$errors['email'] = "Format email tidak valid";
}
// Jika tidak ada error, proses data
if (empty($errors)) {
// Proses data sukses
echo "<div class='success'>Data berhasil disimpan!</div>";
}
}
Contoh Tampilan Error
⚠Format email tidak valid. Pastikan email mengandung '@' dan domain yang valid.
Contoh Lengkap Validasi Form
Implementasi lengkap validasi form dengan PHP.
Form Login dengan Validasi Real-time
<?php
$errors = [];
$email = $password = '';
if ($_SERVER["REQUEST_METHOD"] == "POST") {
// Validasi email
if (empty($_POST['email'])) {
$errors['email'] = "Email harus diisi";
} else {
$email = filter_var($_POST['email'], FILTER_SANITIZE_EMAIL);
if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
$errors['email'] = "Format email tidak valid";
}
}
// Validasi password
if (empty($_POST['password'])) {
$errors['password'] = "Password harus diisi";
} else {
$password = $_POST['password'];
if (strlen($password) < 6) {
$errors['password'] = "Password minimal 6 karakter";
}
}
// Jika tidak ada error
if (empty($errors)) {
// Proses login
echo "Login berhasil!";
}
}
?>
Download Materi
Silakan download file materi berikut untuk praktik lebih lanjut:
File login.php
File PHP lengkap dengan validasi form login.
File register.php
File PHP dengan validasi form pendaftaran lengkap.
File validasi-fungsi.php
Kumpulan fungsi validasi yang bisa digunakan kembali.
Tugas Kelompok: Form Validation Challenge
Setiap tim terdiri dari 3 orang dengan peran berbeda yang harus berkolaborasi membuat sistem validasi form yang aman dan user-friendly.
Tim harus dengan golongan yang berbeda tiap orangnya
Struktur Tim & Peran
ROLE 1: UX VALIDATION DESIGNER (Desainer Validasi UX)
Tugas:
Mendesain tampilan pesan error yang user-friendly
Implementasi validasi real-time
Memastikan pengalaman pengguna tetap baik meski ada error
Contoh: "Format email tidak valid" dengan icon dan penjelasan
ROLE 2: FRONTEND DEVELOPER (Developer Tampilan)
Tugas:
Implementasi HTML, CSS, JavaScript validasi
Membuat form yang responsive dan accessible
Validasi client-side dengan JavaScript
Integrasi dengan backend
ROLE 3: BACKEND DEVELOPER (Developer Penrosesan)
Tugas:
Implementasi validasi server-side dengan PHP
\
Sanitasi data dengan filter_var()
Requirements Tugas
Buat form pendaftaran dengan validasi untuk:
Nama (required, min 2 karakter)
Email (required, format email valid)
Password (required, min 6 karakter, konfirmasi password)
Tanggal Lahir (required, format valid, usia minimal 17 tahun)
Nomor Telepon (required, format Indonesia)
Contoh Error Message: "Format email tidak valid"
Cara Pengumpulan Tugas
Instruksi Pengumpulan
a) Dikumpulkan di S-Learn
b) Hanya ketua Tim upload dengan memasukkan anggota kelompok
c) Yang di upload link drive dari zip folder berisi:
File PHP dengan validasi lengkap
File HTML form (jika terpisah)
Dokumentasi singkat cara kerja validasi
Screenshot hasil testing (termasuk error message)
Tugas sudah tersedia di S-Learn. Silakan login dan kerjakan sesuai instruksi.