Udah lama sekali saya tidak mengupdate Tutorial Codeigniter untuk dasar/basic ini… Untuk tutorial dasar ini, kita akan melanjutkan tutorial yang dulu. Waktu dulu kita udah sampai di tutorial dasar part III. Di Tutorial Dasar Part IV ini, kita akan belajar bagaimana membuat sebuah validasi input pada sebuah form yang kita buat supaya pengguna harus mengisikan setiap input form dengan aturan dan ketentuan yang berlaku supaya inputan yang sudah dikirim (submit) adalah inputan yang benar2 sudah valid (tidak ada kesalahan inputan).
Validasi Input Form memang diperlukan untuk kebenaran nilai dari suatu data. Misalnya, untuk input E-Mail, kita harus mengisikan format yang sesuai/valid dengan format email, contohnya: assembuh@yahoo.co.id, assembuh@gmail.com, assembuh@assembuh.uk, dan sebagainya. Untuk input Nama misalnya tidak boleh dikosongkan, jika isian kosong maka data tidak akan disubmit ke server, melainkan akan munculnya laporan bahwa data terdapat kesalahan, yaitu belum diisi.
Hampir semua input form menggunakan validasi. Untuk contoh pada tutorial ini, kita akan membuat validasi untuk form Registrasi (Pendaftaran pada suatu situs), yang input dan aturannya adalah sebagai berikut:
- Nama depan (wajib diisi)
- Nama belakang (optional)
- Alamat (wajib diisi)
- E-Mail (wajib diisi, harus format E-Mail)
- Telepon (optional, harus nomor)
- Pekerjaan (optional)
- Username (wajib diisi, minimal 6 karakter)
- Password (wajib diisi, minimal 6 karakter)
- Konfirmasi Password (wajib diisi, harus sama dengan password)
Dengan menggunakan Codeigniter, Anda bisa membuat validasi form dengan mudah, karena Codeigniter sudah menyediakan library untuk Form Validation.
Untuk mengikuti tutorial ini, diharapkan Anda sudah menghilangkan index.php yang ada di tutorial ini: http://harian.cheyuz.com/_other/meng...erbagai-server dan mengeset base_url() dengan http://localhost/webku dan sedikitnya sudah paham semua materi yang ada di Tutorial Dasar CI Part I, Tutorial Dasar CI Part II, dan Tutorial Dasar CI Part III.
Untuk tutorial ini, kita tidak akan fokus kepada database, tetapi kepada validasi form, jadi saya tidak akan membuat model registrasi_model, melainkan Anda explore sendiri bagaimana cara memasukkan data ke dalam database yang sudah dipelajari di Tutorial Dasar Sebelumnya.
OK, kita mulai aja, langkah pertama, buatlah sebuah controller kosong registrasi.php dengan isi file sebagai berikut:
PHP Code:
<?php
/**
* @author assembuh
*/
class Registrasi extends Controller
{
function __construct()
{
parent::Controller();
}
//code
}
PHP Code:
...
function __construct()
{
parent::Controller();
$this->load->helper('form');
$this->load->library('form_validation');
}
...
PHP Code:
<?php
/**
* @author cheyuz
*/
class Registrasi extends Controller
{
function __construct()
{
parent::Controller();
$this->load->helper('form');
$this->load->library('form_validation');
}
function index()
{
}
}
PHP Code:
<h2>Registrasi</h2>
<?php echo form_open('registrasi') ?>
<table>
<tr>
<td>Nama depan</td>
<td><?php echo form_input('nama_depan') ?></td>
</tr>
<tr>
<td>Nama belakang</td>
<td><?php echo form_input('nama_belakang') ?></td>
</tr>
<tr>
<td>Alamat</td>
<td><?php echo form_textarea('alamat') ?></td>
</tr>
<tr>
<td>E-Mail</td>
<td><?php echo form_input('email') ?></td>
</tr>
<tr>
<td>No Telepon</td>
<td><?php echo form_input('no_telepon') ?></td>
</tr>
<tr>
<td>Pekerjaan</td>
<td><?php echo form_input('pekerjaan') ?></td>
</tr>
<tr>
<td>Username</td>
<td><?php echo form_input('username') ?></td>
</tr>
<tr>
<td>Password</td>
<td><?php echo form_password('password') ?></td>
</tr>
<tr>
<td>Konfirmasi Password</td>
<td><?php echo form_password('konfirmasi_password') ?></td>
</tr>
<tr>
<td></td>
<td><?php echo form_submit('daftar','Daftar') ?></td>
</tr>
</table>
<?php echo form_close() ?>
Setelah itu, kita buat aturan untuk validation tadi, caranya yaitu dengan menambahkan array berupa rules2 tadi dengan bentuk seperti berikut:
PHP Code:
$rules = array(
array(
'field' => [nama input field]
'label' => [label]
'rules' => [aturan]
),
//dan seterusnya ...
);
PHP Code:
...
$rules= array(
array(
'field' => 'nama_depan',
'label' => 'Nama Depan',
'rules' => 'required'
),
array(
'field' => 'alamat',
'label' => 'Alamat',
'rules' => 'required'
),
array(
'field' => 'email',
'label' => 'E-Mail',
'rules' => 'required|valid_email'
),
array(
'field' => 'no_telepon',
'label' => 'No Telepon',
'rules' => 'numeric'
),
array(
'field' => 'username',
'label' => 'Username',
'rules' => 'required|min_length[6]'
),
array(
'field' => 'password',
'label' => 'Password',
'rules' => 'required|min_length[6]|matches[konfirmasi_password]'
),
array(
'field' => 'konfirmasi_password',
'label' => 'Konfirmasi Password',
'rules' => 'required'
),
);
$this->form_validation->set_rules($rules);
...
PHP Code:
if ($this->form_validation->run() == FALSE)
{
//jika belum dikirim/belum valid, masukkan kode di sini
}
else
{
//jika sudah valid, masukkan kode INSERT di sini
}