Teknik Validasi menggunakan PHP


07/10/2016 03:11:22 279

Validasi ialah suatu proses untuk mengecek apakah suatu data sesuai dengan aturan yang telah ditetapkan. Validasi umumnya diterapkan ketika suatu data dikirim melalui form, data tersebut harus dicek, misalkan apakah datanya kosong, atau apakah sesuai dengan format tertentu. Untuk mengecek nilai dari suatu variabel ialah dengan menggunakan kontrol kondisi seperti pada contoh berikut:

$username = "";
$password = "";

if($username == "" || length($username) < 10  || length($username) > 20 || $password == "" || $password == $username || length($password) < 10  || length($password) > 20) {
    echo "Username tidak boleh kosong dan minimal 10 karakter dan maximal 20 karakter";
    echo "Password tidak boleh kosong, tidak boleh sama dengan username dan minimal 10 karakter dan maximal 20 karakter";
} else {
    // Perintah ketika tidak ada pesan kesalahan
}

Contoh validasi diatas ialah contoh untuk mengecek suatu username dan password. Username dicek apakah suatu username bernilai kosong, atau panjang karakternya kurang dari 10 atau panjang karakternya lebih dari 20. Jika salah satu kondisi tersebut terpenuhi maka pernyataan error akan dikeluarkan: "Username tidak boleh kosong dan minimal 10 karakter dan maximal 20 karakter". Sedangkan contoh kedua ialah pengecekan terhadap password. Password akan dicek apakah bernilai kosong, atau password sama dengan username atau panjangnya karakternya kurang dari 10 atau panjang karakternya lehih dari 20. Jika salah satu kondisi terpenuhi maka akan menghasilkan pesan kesalahan "Password tidak boleh kosong, tidak boleh sama dengan usernaem dan minimal 10 karakter dan maximal 20 karakter".

Teknik 2

Salah satu cara yang elegan dalam menangani error dalam validasi data ialah dengan memanfaatkan array. Array digunakan untuk menampung kesalahan-kesalahan hasil pengecekan. Berikut ialah contohnya:


$username = ""; $password = ""; $errors = array(); if($username == "") $array[] = "Username tidak boleh kosong"; if(length($username) < 10 || length($username) > 20) $array[] = "Karakter username minimal 10 karakter dan maksimal 20 karakter"; if($password == "") $array[] = "Password tidak boleh kosong"; if($password == $username) $array[] = "Password tidak boleh sama dengan Username"; if(length($password) < 10 || length($password) > 20) $array[] = "Karakter password minimal 10 karakter dan maksimal 20 karakter"; if(empty($errors)){ // Perintah ketika tidak ada error } else { // Ketika ada error, contohnya menampilkan error foreach($errors as $error) { echo "<li>$error</li>"; } }

Pada contoh kedua diatas penanganan error terhadap suatu kondisi lebih spesifik. Hal ini memiliki keuntungan yakni kode lebih mudah dibaca dan dimanajemen. Penambahan rule atau aturan lebih mudah dan flexible.