Berikut ini code snippet tentang bagaimana menggunakan form_validation CodeIgniter untuk form dropdown.
Jika form di submit, kemudian terjadi error, maka di form dropdown akan terselect value yang sebelumnya diisi ketika form disubmit.
Validasi Form Dropdown CodeIgniter Set Value Jika Error
Langsung saja, berikut ini snippet code nya:
Untuk bagian view:
<?php $attributes = 'class ="form-control"'; $pilih = set_value('id_jenis'); echo form_dropdown("id_jenis", $jenis_perangkat, $pilih, $attributes); ?>
Untuk bagian controller:
<?php public function tambahperangkat() { $data['judul'] = 'Tambah Perangkat'; $this->load->model('jenisperangkat_model'); //get jenis for dropdown in form $data['jenis_perangkat'] = $this->jenisperangkat_model->get_all_jenis(); //load library form_validation $this->load->library('form_validation'); $this->form_validation->set_rules('id_jenis', 'Jenis Server', 'callback_dropdown_jenis_check'); //pengecekan validasi if($this->form_validation->run() == FALSE){ $this->load->view('index', $data); } else{ this->perangkatdc_model->save_perangkat($id, $id_jenis); redirect('perangkatdc/index'); } } //callback dari form validation public function dropdown_jenis_check($param){ if($param == ''){ $this->form_validation->set_message('dropdown_jenis_check', '%s belum dipilih'); return FALSE; }else{ return TRUE; } } ?>
dan ini bagian modelnya:
<?php function get_all_jenis() { $this->db->select('*'); $this->db->from('jenis'); //$this->db->order_by('jenis', 'ASC'); $array_keys_values = $this->db->get(); $hasil[''] = '- Pilih Jenis Perangkat -'; foreach ($array_keys_values->result() as $row) { $hasil[$row->id_jenis] = $row->jenis; } return $hasil; } ?>
Jangan asal dicopas trus dicoba ya, karena pasti ga akan jalan. Disesuaikan dulu sesuai code yang ingin agan buat. Pokoknya intinya seperti code di atas.
Kita menggunakan set_value() untuk mengeset kembali value dari dropdown yang sebelumnya disubmit tetapi error.
Sekian validasi form dropdown Codeigniter. Semoga bermanfaat!