Saturday, September 19, 2015

Belajar CodeIgniter (bagian: form validation (2))

Dalam menerapkan form validation, kita akan menggunakan form pendaftaran yang telah kita buat pada bagian helper.
Pada bagian controlle, modifikasi function index menjadi:

public function index(){
 $fields=array('nama_mhs','anak_urutan','jumlah_saudara','tempat_lahir','tanggal_lahir','bulan_lahir','tahun_lahir','warga_negara','agama','nama_sma','alamat_sma','prov_sma','jur_sma','nilai_uan','no_telp_mhs','nama_ortu','alamat_ortu','prov_ortu','krj_ayah','krj_ibu','ket_ayah','ket_ibu','alamat_mlg','prov_alamat','no_telp_ortu');
  $data = array();
  foreach ($fields as $field){
      $data[$field] = '';
 }
$this->load->helper('form');
$this->load->view('form_register',$data);
}

Juga kita modifikasi function send menjadi: 

public function send(){
$this->load->helper('form');

        $this->load->library('form_validation');
$this->form_validation->set_rules('nama_mhs', 'Nama Mahasiswa', 'required');
$this->form_validation->set_rules('tempat_lahir', 'Tempat Lahir', 'required');
$this->form_validation->set_rules('tanggal_lahir', 'Tanggl Lahir', 'required');
$this->form_validation->set_rules('bulan_lahir', 'Bulan Lahir', 'required');
$this->form_validation->set_rules('tahun_lahir', 'Tahun Lahir', 'required');
$this->form_validation->set_rules('nama_sma', 'Nama SMA Asal', 'required');
$this->form_validation->set_rules('alamat_sma', 'Alamat SMA Asal', 'required');
$this->form_validation->set_rules('jur_sma', 'Jurusan SMA', 'required');
$this->form_validation->set_rules('nilai_uan', 'Nilai UAN', 'required');
$this->form_validation->set_rules('no_telp_mhs', 'No Telp/HP Mahasiswa', 'required');
$this->form_validation->set_rules('nama_ortu', 'Nama Orang Tua/Wali', 'required');
$this->form_validation->set_rules('alamat_ortu', 'Alamat Orang Tua/Wali', 'required');
if ($this->form_validation->run() == FALSE){
$fields=array('nama_mhs','anak_urutan','jumlah_saudara','tempat_lahir','tanggal_lahir','bulan_lahir','tahun_lahir','warga_negara','agama','nama_sma','alamat_sma','prov_sma','jur_sma','nilai_uan','no_telp_mhs','nama_ortu','alamat_ortu','prov_ortu','krj_ayah','krj_ibu','ket_ayah','ket_ibu','alamat_mlg','prov_alamat','no_telp_ortu');
$data = array();
foreach ($fields as $field){
$data[$field] = $this->input->post($field); }
$this->load->view('form_register',$data);
}
else{
$data = array();
$data['tabel_mhs'] = array(
     array('Nama',$this->input->post('nama_mhs')),
array('Jenis Kelamin',$this->input->post('jenis_kelamin'),'Anak ke',$this->input->post('anak_urutan'),'Jumlah Saudara',$this->input->post('jumlah_saudara')),            array('Tempat/Tanggal Lahir',($this->input->post('tempat_lahir')).'/'.
   ($this->input->post('tanggal_lahir')).' '.($this->input->post('bulan_lahir')).' '.($this->input->post('tahun_lahir'))),
array('Warga Negara',$this->input->post('warga_negara'),'Agama',$this->input->post('agama')),
array('SMA/SMK Asal',$this->input->post('nama_sma')),
array('Alamat SMA/SMK',$this->input->post('alamat_sma')),
array('Provinsi SMA/SMK',$this->input->post('prov_sma')),
array('Jurusan di SMA/SMK',$this->input->post('jur_sma'),'Total Nilai UAN',$this->input->post('nilai_uan')),
array('No. Telp/HP',$this->input->post('no_telp_mhs'))
 );
$data['tabel_ortu'] = array(
array('Nama Orang Tua/Wali',$this->input->post('nama_ortu')), array('Alamat Orang Tua/Wali',$this->input->post('alamat_ortu')), array('Kota Provinsi',$this->input->post('prov_ortu')),
array('Pekerjaan Ayah',$this->input->post('krj_ayah'),'Pekerjaan Ibu',$this->input->post('krj_ibu')),
array('Keterangan Pekerjaan Ayah',$this->input->post('ket_ayah')), array('Keterangan Pekerjaan Ibu',$this->input->post('ket_ibu')), array('Alamat di Malang',$this->input->post('alamat_mlg')), array('Provinsi',$this->input->post('prov_alamat')),
array('No. Telp/HP:',$this->input->post('no_telp_ortu'))
);
$this->load->view('form_view',$data);
}
}


Keterangan:

1. Pada function index, kita memberikan nilai inisiasi pada variabel-variabel di form dengan nilai '' (kosong).
2. Pada function send, kita menerapkan rules-rules. Perlu diperhatikan if ($this->form_validation->run() == FALSE) menunjukkan apabila terjadi kesalahan form, dia akan membuka kembali form_register.php, hanya saja kali ini akan diberikan juga nilai yang sudah diisi oleh user sebelumnya.


Pada bagian view, kita cukup menambahkan echo validation_errors(); serta memastika setiap variabel diberi nilai yang sudah diberikan oleh controller. Contoh implementasi: echo form_input('nama_mhs',$nama_mhs);

No comments:

Post a Comment