Teknik Validasi Data Pada CakePHP

Buat: 08/07/2013 - 05:15
Pojok Programmer - Teknik Validasi Data Pada CakePHP

Artikel ini merupakan lanjutan dari artikel sebelumnya tentang CRUD Database Menggunakan CakePHP, namun ada point penting yang lupa penulis sertakan pada tutorial tersebut, dan untuk menebus kesalahan tersebut penulis akan melengkapi kekurangan tersebut pada tutorial kita kali ini.

Point penting yang belum tersentuh pada tutorial sebelumnya adalah validasi data ketika kita akan melakukan penginputan data. Sebenarnya apa sih kegunaan validation itu? Validasi kita gunakan untuk mencegah atau memberikan pesan kesalahan kepada user, pada saat user melakukan penginputan data tidak sesuai dengan format data tertentu, sebagai contoh, user lupa tidak mengisikan salah satu field data, data yang seharusnya bertipe angka ternyata diinputkan oleh user berupa user. Nah dari sebagian contoh di atas, maka kita perlu mencegahnya dengan membuat validasi.

Di dalam CakePHP sudah dilengkapi built-in fitur validasi, dimana validasi tersebut dibentuk pada sebuah Model.

Agar kita tidak bingung membayangkan teori yang penulis paparkan di atas, kita akan mempraktekan saja membuat data validation pada aplikasi CRUD Database pada artikel sebelumnya. Dimana kita akan mengubah sedikit model yang telah kita buat yaitu file Employee.php yang kita simpan pada folder \htdocs\crud-cake\app\Model.

Kita ubah sedikit file Employee.php menjadi seperti berikut

<?php
class Employee extends AppModel {
  public $validate = array (
     'nip'=> array (
           /nama rule yang kita pakai adalah numeric
          * agar NIP yang diinputkan hanya berisi angka saja
/
          'rule'=>'numeric',
          /pesan error yang ditampilkan
             * jika user tidak menginputkan NIP dengan angka
/
         'message'=>'NIP Harus angka'
        ),
    
       'nama'=> array (
          /nama rule yang kita pakai adalah minLength
            * agar nama yang diinputkan minimal adalah 3 huruf
/
          'rule'=>array('minLength', '3'),
          //data pada nama tidak boleh kosong
            'required'=> true,
            /pesan error yang ditampilkan
             * jika user tidak menginputkan nama minimal 3 huruf atau tidak menginputkan data
/
            'message'=>'Nama tidak boleh kosong dan minimal 3 huruf'
        ),
    
       'golongan'=> array (
          /nama rule yang kita pakai adalah notEmpty
             * agar golongan yang diinputkan tidak boleh kosong
/
          'rule'=> 'notEmpty'
     ),
     'pangkat'=> array (
           'rule'=> 'notEmpty,'
        ),
    
   );
}
?>

selain nama rule numeric, minLength, notEmpty masih ada nama rule yang sering dipakai, antara lain:

  1. email, dugunakan untuk validasi format email
  2. maxLength, secara logika fungsinya hampir sama dengan minLength, bedanya adalah maxLength untuk memvalidasi jumlah maksimal jumlah karakter yang dimasukkan
  3. between, dugunakan untuk memvalidasi jumlah karakter tertentu yang disyaratkan, misalkan min jumlah karakter 2 dan max jumlah karakter 10
  4. alphaNumeric, digunakan untuk memvalidasi agar user menginputkan karakter berupa kombinasi huruf dan angka (sebagai contoh saat kita membuat password)

About Author

See also

Tentang PHP Indonesia

PHP Indonesia adalah sebuah komunitas untuk semua orang yang mencintai PHP. Fokus utama kami adalah pemrograman menggunakan bahasa PHP, namun tidak menutup kemungkinan pembahasan yang mencakup keseluruhan LAMP stack. Topik bisa dari pemrograman PHP, penanganan memcached, optimasi database, konfigurasi server, tuning server web, application deployment, framework PHP, hosting pilihan dan sebagainya.

Petunjuk Penulisan

Berikut ini adalah beberapa petunjuk penulisan artikel. Petunjuk dibuat bukan untuk membatasi tetapi demi menjaga kualitas artikel yang terpublikasi di situs ini. Selain itu, keseragaman gaya bahasa dapat menjaga readibilitas (tingkat keterbacaan) sehingga pembaca akan lebih nyaman dalam membaca artikel di situs ini.