Yang namanya aplikasi berbasis web pasti tidak akan bisa lepas dari pengolahan data. Baik melalui penginputan atau penambahan record baru (Add), maupun melalui pengubahan record yang sudah ada di Database (Edit). Sebelum data disimpan ke Database, pasti harus dilakukan proses validasi terlebih dulu. Validasi akan memastikan data yang akan disimpan ke Database sudah valid. Misalnya, apakah data yang seharusnya wajib diisi oleh Pengguna sudah diisi atau belum. Atau, apakah data yang tipenya tanggal (Date/Time) formatnya sudah sesuai dengan yang seharusnya diinginkan, dan sebagainya.
Tools PHP Code Generator PHPMaker sudah menangani proses validasi data dengan dua cara. Pertama dari sisi klien (Client-Side), dan yang kedua dari sisi server (Server-Side). Keduanya bisa digunakan bersama-sama, atau hanya salah satunya saja. Artinya, Anda dapat menerapkan proses validasi ini sesuai kebutuhan di aplikasi web yang Anda bangun. Validasi di sisi server sangat berguna jika seandainya Anda ingin melakukan validasi ulang atau validasi akhir di samping validasi yang sudah dilakukan di sisi klien. Atau bahkan jika validasi di sisi klien tidak dilakukan, maka satu-satunya validasi yang harus dilakukan adalah dari sisi server.
Untuk mengaktifkan fitur validasi tersebut, maka cukup klik menu tab PHP -> General Options -> Validation, lalu beri tanda centang pada Server-side dan atau Client-side (Javascript) dari aplikasi PHPMaker. Seperti yang sudah disebutkan tadi, Anda dapat mengaktifkan salah satu, atau bahkan keduanya. Secara standar, PHPMaker hanya mengaktifkan validasi di sisi klien. Hal ini wajar, karena dapat menghemat waktu, di mana aplikasi web Anda tidak perlu menghubungi server setiap kali akan melakukan validasi data yang diinput atau diubah oleh Pengguna. Validasi cukup dilakukan di sisi browser klien.
Jika Anda memilih validasi di sisi klien, PHPMaker akan men-generate kode Javascript di halaman Add dan Edit. PHPMaker akan otomatis mendeteksi dari informasi Field yang diekstrak dari Database. Contoh, jika ada field yang memiliki property Not Null, maka PHPMaker akan men-generate kode Javascript yang akan mencegah Pengguna menyimpan data sebelum field tersebut diisi. Artinya, Anda tidak perlu pusing-pusing lagi memikirkan untuk menulis kode Javascript untuk memvalidasi setiap field di form untuk menginput atau mengubah data.
Sedikit berbeda dengan validasi di sisi klien, jika Anda mengaktifkan validasi di sisi Server, maka kode yang akan di-generate oleh PHPMaker adalah kode PHP. PHPMaker akan otomatis men-generate kode PHP yang akan mencegah Pengguna menyimpan data sebelum semua field berisi data yang valid.
Tidak hanya berhenti di situ saja, PHPMaker juga masih memberikan kesempatan kepada Anda sebagai Web Developer untuk menambahkan kode tambahan milik Anda (jika diperlukan), baik dari sisi klien maupun dari sisi server (tergantung dengan pengaturan validasi yang aktifkan di atas tadi). Untuk menambahkan kode dari sisi server, Anda cukup menulis kode PHP Anda menggunakan Form_CustomValidate yang terdapat di bawah Add/Copy Page atau Edit Page dari bagian Server Events. Hal yang sama juga untuk validasi di sisi klien, menggunakan nama yang sama Form_CustomValidate, tapi berada di bawah bagian Client Scripts dari aplikasi PHPMaker.
Wouw! Betapa nikmatnya bekerja dengan PHPMaker, bukan? 🙂
Eka Dalas P mengatakan
Maaf pak masino bagaimana ya caranya kita membuat validasi pada phpmaker jika data sudah ada makan muncul pemberitahuan bahwa data sudah pernah diinput
Masino Sinaga mengatakan
Gunakan server event Row_Inserting. Baca menu Help untuk info dan contoh lebih lanjut.
Shandy mengatakan
Salam Sejahtera Bang
Jadi kalau menurut Bang Masino sendiri lebih baik menggunakan Server-side atau Client-side?
Bahkan malah lebih baik menggunakan keduanya Bang, lalu apa kekurangan & kelebihan nya jika kita menggunakan keduanya secara bersamaan Bang.
Thank’s 🙏
Masino Sinaga mengatakan
Sebenarnya tergantung kebutuhan saja. Tidak ada istilah mana yang terbaik di antara keduanya. Lebih bagus lagi kalau bisa menggunakan dua-duanya, dan itu pun lagi-lagi tergantung kebutuhan saja.