如何在编码器的单选框和下拉框中生成错误表单


how to make error form in radio check box and drop down in codeigniter

你好,我想做表单注册,我想在组合框和下拉框中给出错误表单,但它不能显示错误表单。

this is controller

function tambah_identitas()
    {
        $this->data['prodi'] = $this->mprodi->get_prodi();
        //set validation properties
        $this->input->post();
        $this->form_validation->set_rules('nim', 'nim', 'required');
        $this->form_validation->set_rules('email', 'email', 'required');
        $this->form_validation->set_rules('no_telp', 'No Telpon', 'required');
        $this->form_validation->set_rules('jenis_kelamin', 'Jenis Kelamin', 'required');
        $this->form_validation->set_rules('status', 'Status', 'required');
        $this->form_validation->set_rules('prodi', 'Prodi', 'required');
        $this->form_validation->set_rules('angkatan', 'Angkatan', 'required');
        $this->form_validation->set_rules('geup', 'Geup', 'required');
        $this->form_validation->set_rules('tahun_masuk', 'Tahun Masuk', 'required');

        if ($this->form_validation->run() == FALSE) 
        {
            $this->data['contents'] = $this->load->view('mahasiswa/identitas', '', true);
        }else{
            $this->load->model('mdaftar');
            $data = array(
                'nama' => $this->session->userdata('nama'),
                'username' => $this->session->userdata('username'),
                'password' => $this->session->userdata('password'),
                'level' => 3,
                'nim' => $this->input->post('nim'),
                'email' => $this->input->post('email'),
                'no_telp' => $this->input->post('no_telp'),
                'tempat_lahir' => $this->input->post('tempat_lahir'),
                'tanggal_lahir' => $this->input->post('tanggal_lahir'),
                'jenis_kelamin' => $this->input->post('jenis_kelamin'),
                'angkatan' => $this->input->post('angkatan'),
                'agama' => $this->input->post('agama'),
                'status' => $this->input->post('status'),
                'tahun_masuk' => $this->input->post('tahun_masuk'),
                'id_prodi' => $this->input->post('prodi'),
                'alamat' => $this->input->post('alamat'),
                'geup' => $this->input->post('geup')

                );
            $this->mdaftar->insert_daftar($data);
            redirect(site_url('mahasiswa/sukses'));
        }
        $this->load->model('mlogin');
        $this->load->model('mprodi');
        $this->data['orang'] = $this->mlogin->dataPengguna($this->session->userdata('username'));
        $this->data['contents'] = $this->load->view('mahasiswa/identitas', $this->data, true);
        $this->load->view('template/wrapper/mahasiswa/wrapper_sign',$this->data);
    }

this this view

<div class="field">
   <label>Geup<label style="color: #BD3131; font-size:20px; ">*</label></label>
   <div class="ui dropdown selection">
       <input type="hidden" name="geup" value="1">
       <div class="default text">-Geup-</div><?php echo form_error('geup', '<div class="ui red pointing label">', '</div>'); ?>
       <i class="dropdown icon"></i>
       <div class="menu">
           <div class="item active" data-value="Geup 1" value="1"> Geup 1</div>
           <div class="item" data-value="Geup 2" value="2">Geup 2</div>
           <div class="item" data-value="Geup 3" value="3">Geup 3</div>
           <div class="item" data-value="Geup 4" value="4">Geup 4</div>
           <div class="item" data-value="Geup 5" value="5">Geup 5</div>
           <div class="item" data-value="Geup 6" value="6">Geup 6</div>
           <div class="item" data-value="Geup 7" value="7">Geup 7</div>
           <div class="item" data-value="Geup 8" value="8">Geup 8</div>
           <div class="item" data-value="Geup 9" value="9">Geup 9</div>
           <div class="item" data-value="Geup 10" value="10">Geup 10</div>
       </div>
   </div>
</div>
<div class="field">
   <label>Status<label style="color: #BD3131; font-size:20px; ">*</label></label><?php echo form_error('status', '<div class="ui red pointing label">', '</div>'); ?>
   <div class="ui radio checkbox">
       <input type="radio" value="mahasiswa" name="status" checked="checked">
       <label>Mahasiswa</label>
   </div>
   <div class="ui radio checkbox">
      <input type="radio" value="alumni" name="status">
      <label>Alumni</label>
   </div>
</div>

但是当我尝试在表单输入错误表单显示,当我尝试在单选复选框和下拉错误表单不显示。

请告诉我该怎么办。谢谢你。

在控制器中创建一个名为_valid_status()的方法,代码如下:

function _valid_status($str){
  $this->form_validation->set_message('_valid_status', 'The %s field is not valid');
  return $str == "alumni" || $str == "mahasiswa";
}

然后将callback__valid_status添加到status的规则中,如下所示:

$this->form_validation->set_rules('status', 'Status', 'required|callback__valid_status');