Cara melakukan pemeriksaan form input dengan form validation codeIgniter

Selamat berjumpa kembali dengan tutorial kreatif, pada kesempatan kali ini kita akan membahas tentang form validation pada codeIgniter. Bagaimana cara menggunakan form validation, akan kita bahas beserta contoh paling sederhana yang kami harap dapat membuat para pembaca sekalian benar-benar paham dengan konsepnya.

Sebelum kita melangkah lebih jauh terlebih dahulu kita harus mengetahui untuk apa sebenarnya form validation pada codeIgniter?

 
Form validation adalah library pemeriksaan form input yang akan memudahkan kita untuk melakukan pengaturan terhadap form input seperti pada halaman pendaftaran, halaman login, halaman edit profile dan lain - lain. Dengan library ini, programer menjadi lebih cepat melakukan tugasnya karena coding yang harus dilakukan menjadi lebih sedikit dibandingkan menggunakan pemeriksaan form secara manual. Seperti apa contoh aturan dalam pemeriksaan form ? :
  • Nomor ID harus di isi dengan data numeric, jumlahnya tidak boleh kurang dari 10 angka dst
  • Alamat email haruf mempunyai struktur yang valid
  • Jumlah huruf yang di masukkan tidak boleh lebih dari 6
  • Dan macam - macam aturan lainnya

 

Dengan penggunaan form validation pada codeIgniter, programer tidak perlu melakukan pengecekan sekian banyaknya dengan menggunakan perintah if, akan tetapi hanya menuliskan aturan - aturannya dalam bentuk config rule yang selanjutnya akan dituliskan pada controller. Untuk mengetahuinya lebih jelas, silahkan perhatikan contoh berikut ini

1. Buat view register.php /application/views/register.php

Seperti pada contoh sebelumnya, kita sudah melakukan sedikit modifikasi pada script view register.php diantaranya hanya untuk menampilkan pesan eror maupun pesan sukses seperti terlihat dibawah ini:

<style type="text/css">
table{
    font:normal 12px tahoma,verdana;
    background-color:#e1eff8;
}
table tr td{
    padding:0 5px 0 5px;
    border:#e2eef6 1px solid;
}
#eror_div{
	font:normal 10px Tahoma,Verdana;
	display:block;
	width:500px;
	border:red 1px solid;
	padding:5px;
}
#eror_div p{
	margin:0 0 0 0;
	padding:0 0 0 0;
	color:red;
}
#msg_div{
	font:normal 10px Tahoma,Verdana;
	display:block;
	width:500px;
	border:green 1px solid;
	padding:5px;
	color:green;
}
</style>
<?php 
if($eror){
	echo '<div id="eror_div">';
	echo validation_errors();
	echo '</div>';
}

if($register){
	echo '<div id="msg_div">'.$register.'</div>';
}
?>
<form method="post" name="frm" action="">
<table width="500" cellpadding="0" cellspacing="0">
    <tr>
        <td height="25" colspan="2" bgcolor="#2082bc" style="font:bold 14px tahoma;color:#ffffff;">Form Pendaftaran</td>
    </tr>
    <tr>
        <td width="150" height="25">No Identitas</td>
        <td><input type="text" name="no_id" size="30"/></td>
    </tr>
    <tr>
        <td width="150" height="25">Nama Lengkap</td>
        <td><input type="text" name="nama" size="50"/></td>
    </tr>
    <tr>
        <td width="150" height="25">Alamat</td>
        <td><textarea name="alamat" cols="40" rows="5"></textarea></td>
    </tr>
    <tr>
        <td width="150" height="25">Email</td>
        <td><input type="text" name="email" size="30"/></td>
    </tr>
    <tr>
        <td width="150" height="25">Telepon</td>
        <td><input type="text" name="telepon" size="30"/></td>
    </tr>
    <tr>
        <td width="150" height="25"></td>
        <td>
        <input type="submit" name="btnKirim" value="Kirim"/>
        <input type="reset" name="btnReset" value="Reset"/>
        </td>
    </tr>
</table>  
</form>

2. Buat controller home.php /application/controllers/home.php

Pada controller home, kita tambahkan method register yang nantinya akan melakukan menjadi routing untuk menampilkan view halaman register serta melakukan pemeriksaan data yang dimasukkan user melalui form input. Adapun contoh controllernya adalah sebagai berikut :

<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
 
class Home extends CI_Controller {
 
    /**
     * Index Page for this controller.
     *
     * Maps to the following URL
     *      http://example.com/index.php/home
     *  - or -  
     *      http://example.com/index.php/home/index
     *  - or -
     * Since this controller is set as the default controller in 
     * config/routes.php, it's displayed at http://example.com/
     *
     * So any other public methods not prefixed with an underscore will
     * map to /index.php/home/<method_name>
     * @see http://codeigniter.com/user_guide/general/urls.html
     */
    public function index()
    {
        echo 'Selamat datang di CodeIgniter';
    }
     
    function register()
    {
		$data['eror']=false;
		$data['register']=false;
        //cek apakah ada tombol btnKirim
        if($this->input->post('btnKirim')){
            $paket = $this->input->post();
            //memanggil library form vallidation
			$this->load->library('form_validation');
            //buat aturan terhadap form input
			$config = array(
						   array(
								 'field'   => 'no_id', //nama elemen form
								 'label'   => 'No Identitas', //keterangan form
								 'rules'   => 'required|min_length[10]|integer' //harus di isi,minimal 10 angka,integer
							  ),
						   array(
								 'field'   => 'nama',
								 'label'   => 'Nama lengkap',
								 'rules'   => 'required'
							  ),
						   array(
								 'field'   => 'alamat',
								 'label'   => 'Alamat lengkap',
								 'rules'   => 'required|min_length[15]'
							  ),   
						   array(
								 'field'   => 'email',
								 'label'   => 'Email',
								 'rules'   => 'required|trim|valid_email'
							  )
                        );
			//cek jika form validationnya tidak menemukan kesalahan
			$this->form_validation->set_rules($config); 
            if($this->form_validation->run()!==false){
				$this->load->model('webmodel');
				$data['register']=$this->webmodel->proses_register($paket);
			}
			else{
				$data['eror']=true;
			}
        }
        $this->load->view('register',$data);
    }    
}

3. Membuat model webmodel.php /application/models/webmodel.php

Pembuatan model disini hanya sebagai refrensi penjelasan bagi pembaca sekalian jika pemeriksaan form melalui form validation telah selesai, maka model akan bertindak untuk melakukan pemrosesan data, misalnya menyimpan data kedatabase dan lain - lain

<?php
class Webmodel extends CI_Model {
	function __construct()
	{
	  parent::__construct();
    }
	
	function test()
	{
		return 'Data untuk test model';
	}
	
	function proses_register($arr)
	{
		$id      = $arr['no_id'];
		$nama    = $arr['nama'];
		$alamat  = $arr['alamat'];
		$email   = $arr['email'];
		$telp    = $arr['telepon'];
		
		$data    = 'Nomor ID : '.$id.'<br/>'.
		           'Nama : '.$nama.'<br/>'.
				   'Alamat : '.$alamat.'<br/>'.
				   'Email : '.$email.'<br/>'.
				   'Telp : '.$telp;
		return $data;
	}
}

Setelah melakukan contoh langkah - langkah diatas, cobalah menjalankan aplikasi kita dengan mengakses alamat berikut :

http://localhost/folder_ci/index.php/home/register

Ketika muncul form pendaftaran, cobalah langsung klik tombol submit tanpa mengisi form pendaftaran, maka akan di munculkan pesan kesalahan sebagaimana telah disebutkan dalam aturan yang dituliskan pada controller home.php pada method register. Sedangkan jika anda mengisi form dengan benar, maka akan ditampilkan pesan sukses yang merupakan data yang sudah dilakukan prosesing oleh model dan dikembalikan ke controller untuk dicetak pada view register.

 

kami mohon maaf tidak dapat membahas lebih lanjut tentang form validation, kami berharap contoh diatas sudah cukup untuk menarik rasa penasaran anda untuk mengembangkannya dan memperdalam tentang form validation secara lebih lanjut.

Tulis komentar

 




Today
Yesterday
All visitor

Pelatihan Website bersama Media Kreatif Indonesia

laboratorium Komputer dan teknology Kampus I ITN Malang 2013-07-09 08:00:00
 

Pelatihan Sistem Informasi

SMK Negeri 1 Lumajang 2013-05-01 12:00:00
 

Bakti sosial Teknik Kimia

Panti Asuhan Miftahul Huda II 2013-03-26 11:00:00
 

Bagaiamana metode pengajaran teknology yang paling efektif menurut anda ?

Beli buku, kemudian mempelajari sambil praktek
Mengikuti kursus sesuai bidang teknology
Belajar sendiri secara otodidak
Belajar dari contoh - contoh aplikasi yang sudah jadi
Belajar dari contoh - contoh yang paling sederhana
Semua pilihan benar