Validasi Form ASP.NET dengan Validation Control (Part II) - How to use
Yup.. ini adalah lanjutan dari validation control bagian I. Pada bagian I kita telah mengenal macam-macam atau jenis dari validation control. Di bagian II ini saya akan mencoba menjelaskan mengenai cara pemakaian dan cara setingnya…
Semua validation control yang saya jelaskan sebelumnya adalah turunan dari kelas Base Validator, sehingga secara umum semua validation control tersebut akan memiliki properti dan method berikut :
- Control to Validate : properti untuk mengenalkan control mana yang akan di validasi.
- Error Message : properti yang berisi pesan error apa yang akan ditampilkan jika kondisi validasi yang kita buat tidak memenuhi validasi yang ada. Error message ini akan muncul, ketika kursor meninggalkan control yang kita validasi.
- IsValid : Properti dengan tipe boolean yang menentukan apakah suatu validation control bernilai true atau false.
- Validate : method untuk melakukan validasi dan yang akan memberikan nilai ke properti IsValid.
- Display : Properti yang menentukan bagaimana error message akan ditampilkan. Apakah “static” atau “dynamic”. Static = digunakan jika tempat untuk error message tampil sudah disediakan, sehingga ketika error message tampil dia akan muncul ditempat tersebut. Dynamic = tempat untuk error message tidak disediakan, sehingga ketika error message muncul akan menggeser objek yang lain yang bersinggungan dengan error message tersebut.
itulah property yang biasanya harus kita set pada saat menggunakan validation control. Sekarang kita akan masuk ke masing-masing jenis validation control.
1. RequiredFieldValidation Control
Control ini digunakan untuk memvalidasi apakah suatu field masih kosong atau sudah diisi. Biasanya dipasang untuk mengontrol suatu field yang tidak boleh dikosongkan (misal No.Induk, Nama, email, password, confirm password, dll). Jika field yang harus diisi tersebut masih kosong maka control ini akan menampilkan pesan error seperti yang telah kita tentukan. Contoh setingnya kurang lebih seperti ini :
- ControlToValidate = “txtbox01″
- ErrorMessage = “No. Induk harus di isi, tidak boleh dikosongkan”
- Display = “static”
2. CompareValidator Control
Control ini digunakan untuk membandingkan dua buah parameter/nilai. Control ini bisa kita gunakan misalnya untuk membandingkan field input email dengan field input confirm email. Contoh setingnya kurang lebih seperti ini:
- ControlToValidate = “txtinputemail” (control yang akan divalidasi)
- ControlToCompare = “txtconfirmemail” (control yang akan dibandingkan)
- Operator = “equal” (karena kita ingin txtinputemail dan txtconfirmemail bernilai sama)
- ErrorMessage = “Konfirmasi email harus sama dengan alamat email”
Jika nilai pada txtconfirmemail tidak sama dengan txtinputemail maka error message akan muncul. Untuk property Operator selain equal kita juga bisa menggunakan operator lain sesuai kebutuhan, misalnya NotEqual, GreaterThan, GreaterThanEqual, LessThan, LessThanEqual dan DataTypeCheck.
3. RangeValidator Control
Control ini digunakan untuk melakukan pengecekan apakah nilai yang dimasukkan sesuai dengan nilai minimum dan nilai maksimum yang kita tentukan. Control ini bisa digunakan misalnya kita mempunyai 1 sampai dengan 10 jenis pilihan, dan kita ingin user memilih salah satu dari pilihan tersebut dengan menginput pada textbox. Contoh setingnya kurang lebih seperti ini:
- ControlToValidate = “txtpilihan”
- MaximumValue = 10
- MinimumValue = 1
- Type = “Integer” (datatype yang akan divalidasi)
- ErrorMessage = “Masukan pilihan sesuai nomor pilihan yang ada”
Jika inputan ternyata tidak antara 1 - 10 maka error message akan muncul. Selain Integer kita bisa menggunakan datatype jenis lain, misalnya String, Double, Date dan Currency.
4. RegularExpressionValidator Control
Control ini digunakan untuk melakukan pengecekan apakah format/expresi inputan sudah sesuai dengan format yang kita tentukan. Control ini bisa digunakan misalnya untuk validasi penulisan alamat email, kodepos, nomor telephone, dll. Contoh setingnya kurang lebih seperti ini:
- ControlToValidate = “txtemail”
- ValidationExpression = \w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)* (gunakan regular expression untuk menentukan format inputan atau pilih salah satu format inputan yang sudah disediakan)
- ErrorMessage = “Format alamat email salah”
Jika inputan tidak sesua dengan format alamat email yang kita tentukan, maka error message akan muncul.
5. CustomValidator Control
Control ini digunakan jika kita ingin melakukan validasi tetapi dengan algoritma validasi bikinan kita sendiri. Caranya adalah dengan membuat fungsi/method validasi sendiri yang kemudian dipanggil oleh control CustomValidator. Contohnya kurang lebih seperti ini:
Disini saya akan melakukan pengecekan apakah inputan adalah bilangan prima atau bukan.
Pertama kita bikin fungsi untuk mengecek bilangan prima (saya gunakan fungsi dari post saya sebelumnya)
public bool cekprima(int masukan)
   {
       if (masukan < 2)
       {
           return false;
       }
       if (masukan == 2)
       {
           return true;
       }
       for (int i = 2; i < masukan; i++)
       {
           if (masukan % i == 0)
           {
               return false;
           }
       }
       return true;
   }
Kemudian seting properti CustomValidator seperti ini
- ControlToValidate = “txtinputan”
- ErrorMessage = “Inputan bukan bilangan prima”
setelah itu pada event ServerValidate panggilah method yang tadi telah kita buat
protected void CustomValidator1_ServerValidate(object source, ServerValidateEventArgs args)
   {
       int angka = int.Parse(args.Value);
       args.IsValid = cekprima(angka);
   }
6. ValidationSummary Control
Control ini digunakan untuk menampilkan semua pesan error yang ada pada satu halaman. Jika pada satu halaman kita menggunakan beberapa validation control, maka pesan eror yang ada yang dikarenakan validation control kira mendeteksi adanya nilai yang tidak valid bisa dikumpulkan (summary) oleh validationsummary control ini untuk kemudian ditampilkan pada halaman web, maupun menggunakan messagebox. Contoh misalkan pada satu halaman kita menggunakan RequiredFieldValidator, RegularExpressionValidator, RangeValidator (seperti pada contoh sebelumnya), maka error message pada ketiga control tersebut bisa saya kumpulkan dengan validationsummary ini. Contoh setingnya kurang lebih seperti ini:
- DisplayMode = “BulletList” (ini adalah setingan bagaimana nanti pesan2 error message yang ada ditampilkan)
- HeaderText = “Ada beberapa ErrorMessage” (ini adalah header/judul dari summary yang ditampilkan)
- ShowMessageBox = “true” (pilihan apakah summary ditampilkan sebagai message box atau tidak)
- ShowSummary = “false” (pilihan apakah summary ditampilkan dalam halaman web)
Nah sudah tau kan sekarang bagaimana caranya memanfaatkan validation control di ASP.Net. Control ini adalah control yang sangat berguna, karena kita tidak usah repot membuat fungsi-fungsi validasi sendiri (kecuali untuk custom control). Dengan validation control ini kita bisa lebih menghemat waktu.
Selamat mencoba…



