Senin, 11 Juni 2012

Menggunakan Form Validation Di CodeIgniter

Apa sih form validation itu?
Dari namanya aja udah jelas, Form = Formulir, Validation = validasi, yaitu berguna untuk mem-validasi suatu formulir sebelum dikirimkan ke sisi server.
Jadi sebelum dikirim ke server formulir akan dicek terlebih dahulu, apakah sudah sesuai aturan yang telah ditetapkan atau tidak.
Oke langsung aja prakteknya.
Pertama buat file view-nya dengan nama form.php

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Bog Willy - Form Validation</title>
<style>
.warning {
color: red; font-size: 11px;
}
</style>
</head>
<body>
<h1>Form Validation pada CodeIgniter</h1>
<form action="http://localhost/CodeIgniter_2.1.0/index.php/form_validasi" method="post">
<table border="1" cellpadding="0" cellspacing="0" width="600">
<tr>
<td width="150">Username</td>
<td><input type="text" size="20" name="username" value="<?=set_value('username');?>"></td>
<td width="300"><span class="warning"><?=form_error('username');?></span></td>
</tr>
<tr>
<td>Password</td>
<td><input type="password" size="20" name="password" value="<?=set_value('password');?>"></td>
<td><span class="warning"><?=form_error('password');?></span></td>
</tr>
<tr>
<td>Confirm Password</td>
<td><input type="password" size="20" name="confpass" value="<?=set_value('confpass');?>"></td>
<td><span class="warning"><?=form_error('confpass');?></span></td>
</tr>
<tr>
<td>Email</td>
<td><input type="text" size="20" name="email" value="<?=set_value('email');?>"></td>
<td><span class="warning"><?=form_error('email');?></span></td>
</tr>
<tr><td>&nbsp;</td><td><input type="submit" value="submit"></td><td>&nbsp;</td><tr>
</table>
</form>
<br />
<?php
if ($query != NULL) {
echo $query;
}
?>
</body>
</html>


Lalu buat file controller-nya dengan nama form_validasi.php

<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class Form_validasi extends CI_Controller {
function __construct()
{
parent::__construct();
$this->load->library('form_validation');
}

function index()
{
$data['query'] = NULL;
$validation = $this->form_validation;
$validation->set_rules('username','Username','required|min_length[5]|max_length[12]|xss_clean');
$validation->set_rules('password','Password','required|min_length[5]|xss_clean');
$validation->set_rules('confpass','Confirm Password','required|matches[password]|xss_clean');
$validation->set_rules('email','Email','required|valid_email|xss_clean');
if ($validation->run() == TRUE) {
$data['query'] = "Username = ".$validation->set_value('username')."<br>Password = ".$validation->set_value('password')."<br>Email = ".$validation->set_value('email');
header("location: http://localhost/CodeIgniter_2.1.0/index.php/form_validasi");
}
$this->load->view('form', $data);
}

}

/* End of file form_validasi.php */
/* Location: ./application/controllers/form_validasi.php */


Selesai, sekarang tinggal dijalanin di browser http://localhost/CodeIgniter_2.1.0/form_validasi

Keterangan:

  • required = wajib diisi
  • min_length[5] = minimal panjang karakter 5
  • max_length[12] = maximal panjang karakter 12
  • xss_clean = untuk mem-filter xss
  • matches[password] = untuk mencocokan value password dengan conform password
  • valid_email = untuk mem-validasi penulisan format email

2 komentar: