Tutorial CodeIgniter Dasar Part IV – Form Validation

Level: BASIC



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
}


Kemudian, langkah pertama yang harus dilakukan adalah meload helper Form dan library form_validation yang sudah disediakan oleh Codeigniter ke dalam controller kita, caranya tambahkan kode $this->load->helper('form') $this->load->library('form_validation') di dalam function __construct() , jadi sekarang code di dalam __construct menjadi seperti ini:



PHP Code:


...



    function 
__construct()

    {

        
parent::Controller();

        
$this->load->helper('form');

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

    }



...



Sejauh ini Anda sudah menggunakan library Form Validation, sekarang tinggal buat function index() di dalam controller supaya kita bisa mengakses di dalam URL dengan bentuk seperti ini: http://localhost/webku/registrasi. Tambahkan function index() setelah function __construct() dibuat.. jadi kode lengkapnya seperti ini:



PHP Code:


<?php


/**

 * @author cheyuz

 */
class Registrasi extends Controller
{



    function 
__construct()

    {

        
parent::Controller();

        
$this->load->helper('form');

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

    }



    function 
index()

    {



    }



}



kemudian, buatlah view di dalam folder /system/application/views/ dengan nama: registrasi_view.php yang isinya berupa html form sebagai berikut:



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 view dibuat, baru kita tambahkan kode untuk meload view tersebut, yaitu: $this->load->view('registrasi'); ini kita simpan di function index().



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 ...



            
);



Jadi, secara lengkap buatlah $rules tersebut sebelum view diload, lengkapnya seperti berikut:



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);

...



Setelah itu, ada pengecekan apakah data sudah dikirim atau belum dengan cara memakai if, kodenya seperti berikut:



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

        
}



  • description
  • description
  • description
  • description
  • description
  • description
  • description
  • description
  • description
  • description
  • description
  • description
  • description
  • description
  • description

Video Gallery

  • Linux
    sekedar informasi, sekarang zimbra sudah diakuisisi oleh VMWare. jadi nantinya logo webmail zimbra kita akan ada logo VMware-nya.
  • Foto
    kalo mau buat efek foto kembar yang penting pilih minimal 3 foto (mau lebih juga terserah anda aj..)yang setingan tempat dan letak kameranya
  • Network
    setelah anda membongkar dus, dan menyiapkan koneksi. yang perlu anda lakukan adalah:
  • Serba-Serbi
    16 Cara Mengikat Sepatu Ala Jepang share buat teman2 & cew ato cow yang senang menggunakan sepatu bertali. Selamat mencoba
  • Tips-Trik
    Jika agan pengguna komputer, pasti sudah tidak asing lagi dengan yang namanya mouse. Mouse adalah salah satu pendamping setia dari komputer. Hampir semua jenis mouse memiliki 3 buah tombol. Tombol kiri, tombol kanan dan tombol scroll yang ada di tengah
  • Windows
    Windows 7 merupakan versi yang jauh lebih baik daripada versi terbaru windows, yaitu windows Vista. Dan windows 7 dilengkapi dengan banyak fitur baru.