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
Kenapa Validasi Penting?
Sebelum data masuk ke database, kita wajib ngecek dulu apakah input dari user sudah sesuai aturan. Kalau tidak, bisa berakibat:
Database berisi data aneh (misalnya username ada spasi, nomor HP huruf campur angka, dll).
Bisa jadi celah keamanan (SQL injection, spam input).
Menyulitkan saat data diproses lagi di sistem.
Nah, di CodeIgniter ada library bawaan yang powerful banget: Form Validation
Dua Cara Menulis Validasi
2. Dipisahkan ke file config application/config/form_validation.php
Ini cara yang lebih rapi, karena semua aturan dikumpulkan di satu tempat.
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]',
'errors' => array(
'required' => '%s wajib diisi.',
'min_length' => '%s minimal 6 karakter.',
'regex_match'=> '%s hanya boleh huruf, angka, dan underscore.',
'is_unique' => '%s sudah digunakan.'
)
),
array(
'field' => 'email',
'label' => 'Email',
'rules' => 'required|valid_email|is_unique[user.email]'
)
)
);
Validasi dengan Regex
Supaya input lebih ketat, kita bisa pakai regex.
Username: hanya huruf, angka, underscore, tanpa spasi
/^[a-zA-Z0-9_]+$/
Validasi Custom Function
Kadang kita butuh aturan khusus. Misalnya, tanggal harus berformat dd-mm-yyyy.
Bisa bikin function sendiri di controller:
Checklist Validasi Input
Biar gampang, ini checklist aturan yang bisa dipakai:
-
Username → huruf, angka, underscore, minimal 6 karakter, unik.
-
Email → harus email valid, unik.
-
Password → minimal 6 karakter.
-
Konfirmasi password → harus sama dengan password.
-
Nama lengkap → hanya huruf dan spasi.
-
No HP → hanya angka, panjang 10–15 digit.
-
NIK → angka 16 digit.
-
Tanggal lahir → format dd-mm-yyyy.
-
Alamat → wajib diisi.
Tips & Best Practice
✅ Pisahkan rules validasi di form_validation.php.
✅ Selalu gunakan password_hash() untuk simpan password.
✅ Gunakan session flashdata untuk menampilkan pesan error/sukses.
✅ Kalau butuh aturan khusus, bikin callback function.
Penutup
Hari ini saya belajar banyak tentang bagaimana CodeIgniter menjaga kualitas data lewat form validation. Mulai dari aturan bawaan, regex, sampai custom validation function.
Kesimpulannya: validasi itu wajib sebelum data disimpan. Dengan begitu, database kita tetap rapi dan sistem lebih aman.
Semoga catatan ini bermanfaat ya. Kalau ada yang mau diskusi atau nambahin, silakan tulis di komentar.
Artikel Terkait Lainnya:
✅ Codeigniter 3: Cara Membuat Validasi Inputan dengan Mudah
✅ Belajar Validasi Form di Codeigniter
✅
✅
Tidak ada komentar:
Posting Komentar