Responsive Advertisement

Codeigniter 3 : Cara Membuat Validasi Inputan dengan Mudah


Halo teman-teman developer!
Hari ini saya mau share catatan belajar saya tentang form validation di CodeIgniter 3. Kebetulan saya lagi bikin sistem registrasi user, dan ternyata cukup banyak hal menarik yang bisa saya pelajari, terutama soal bagaimana CodeIgniter menangani input data sebelum masuk ke database.

Daripada ilmunya hilang begitu aja, saya tulis di blog ini. Siapa tahu bisa bermanfaat buat yang lagi belajar juga.☺

CodeIgniter 3: Cara Membuat Validasi Inputan dengan Mudah

Apa itu Validasi Form di CodeIgniter 3?

Validasi form adalah proses pengecekan data yang diinputkan pengguna sebelum disimpan ke dalam database. Tujuannya untuk memastikan bahwa data sesuai dengan format yang diinginkan, tidak ada yang kosong, dan terhindar dari kesalahan input maupun potensi keamanan. Misalnya, jika kolom email hanya boleh berisi format email, atau nomor HP harus berupa angka. Dengan validasi yang tepat, aplikasi akan lebih aman dan data yang tersimpan akan lebih berkualitas.


Cara Mengaktifkan Form Validation di CodeIgniter 3

CodeIgniter 3 sudah menyediakan library bawaan bernama Form Validation. Untuk menggunakannya, kita perlu memanggil library ini di controller menggunakan kode berikut: CodeIgniter 3 sudah menyediakan library bawaan bernama Form Validation. Untuk menggunakannya, kita perlu memanggil library ini di controller menggunakan kode berikut:

$this->load->library('form_validation');


Selain itu, kita juga bisa menuliskan aturan validasi langsung di dalam controller dengan method set_rules() atau melalui file konfigurasi khusus di application/config/form_validation.php.

Membuat Rules Validasi dengan set_rules

Method set_rules() digunakan untuk menentukan aturan validasi setiap input. Beberapa aturan dasar yang sering dipakai antara lain:

  • required → memastikan kolom tidak boleh kosong.

  • min_length[n] → menentukan panjang minimal karakter.

  • valid_email → memastikan input sesuai format email.

  • is_unique[tabel.kolom] → memastikan data unik dan tidak boleh duplikat di database.

Contoh Validasi Username Tanpa Spasi

Pada kasus tertentu, kita ingin username hanya boleh berisi huruf, angka, titik, dan underscore. Caranya adalah dengan menambahkan regex_match:

$this->form_validation->set_rules( 'username', 'Username', 'required|min_length[6]|regex_match[/^[a-zA-Z0-9._]+$/]|is_unique[user.username]' );

Aturan ini akan menolak input username yang mengandung spasi.


Membuat Validasi Lewat Config (form_validation.php)

Selain menggunakan set_rules() langsung di controller, CodeIgniter juga mendukung validasi lewat file konfigurasi. Aturan ini ditulis dalam bentuk array di dalam file application/config/form_validation.php.

Kelebihannya adalah kode menjadi lebih rapi, mudah dikelola, dan aturan validasi bisa dipakai ulang di banyak controller. Contoh:

$config = array(

  'proses_user' => array(

      array(

          'field' => 'username',

          'label' => 'Username',

          'rules' => 'required|min_length[6]|regex_match[/^[a-zA-Z0-9._]+$/]|is_unique[user.username]'

      ),

      array(

          'field' => 'email',

          'label' => 'Email',

          'rules' => 'required|valid_email|is_unique[user.email]'

      )

  )

);


Dengan cara ini, saat controller memproses form user, kita tinggal memanggil:

if ($this->form_validation->run('proses_user') == FALSE) {

   // tampilkan error

} else {

   // simpan data

}

Custom Callback Function

Kadang aturan bawaan belum cukup. Misalnya, kita ingin memvalidasi format tanggal Indonesia (dd-mm-yyyy). Untuk itu, kita bisa membuat fungsi callback sendiri di controller:

public function valid_date($date) {

   if (DateTime::createFromFormat('d-m-Y', $date) !== FALSE) {

       return TRUE;

   } else {

       $this->form_validation->set_message('valid_date', '{field} harus dalam format dd-mm-yyyy.');

       return FALSE;

   }

}

Fungsi ini kemudian bisa dipanggil sebagai aturan validasi:

'tanggal_lahir' => array(
   'field' => 'tanggal_lahir',
   'label' => 'Tanggal Lahir',
   'rules' => 'required|callback_valid_date'
)

Tips & Best Practice Validasi

Beberapa tips penting dalam membuat validasi form di CodeIgniter 3:

  1. Gunakan regex_match untuk inputan yang hanya boleh huruf, angka, atau kombinasi tertentu.

  2. Gunakan in_list untuk field pilihan (contoh: jenis_kelamin hanya boleh "L" atau "P").

  3. Untuk validasi upload file, lebih baik gunakan Upload Library bawaan CI dibanding form_validation.

  4. Simpan aturan validasi yang kompleks di file config agar kode lebih bersih dan mudah dikelola.

    Kesimpulan

    Validasi form adalah bagian penting dalam membangun aplikasi dengan CodeIgniter 3. Kita bisa menggunakan set_rules() langsung di controller untuk validasi cepat, atau menuliskan aturan dalam file konfigurasi agar lebih rapi dan reusable. Selain itu, kita juga bisa menambahkan custom callback function untuk kebutuhan validasi khusus, seperti format tanggal.

    Dengan memahami teknik ini, aplikasi kita akan lebih aman, data lebih konsisten, dan user experience lebih baik


Artikel Lainnya :


Tidak ada komentar:

Responsive Advertisement