Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/arduino/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Forms 如何为单选按钮的不同值设置表单验证_Forms_Codeigniter_Validation - Fatal编程技术网

Forms 如何为单选按钮的不同值设置表单验证

Forms 如何为单选按钮的不同值设置表单验证,forms,codeigniter,validation,Forms,Codeigniter,Validation,我的注册表单有一个带有3个单选按钮的表单-用户可以从3个用户角色中选择一个。如果选择第一个单选按钮,您将看到以下下拉列表:地区、学校、教师、班级和班级划分,对于单选按钮2,您将看到第一个下拉列表,但没有教师。如果您选择第三个单选按钮,您将看到所有教师的复选框。 我根据用户选择显示和隐藏下拉列表。 如何进行表单验证-如果选择了第一个单选按钮,则仅显示该单选按钮的这些表单验证规则。这三个单选按钮也是如此。我的控制器是: 公共函数寄存器() { $this->form_validation->set

我的注册表单有一个带有3个单选按钮的表单-用户可以从3个用户角色中选择一个。如果选择第一个单选按钮,您将看到以下下拉列表:地区、学校、教师、班级和班级划分,对于单选按钮2,您将看到第一个下拉列表,但没有教师。如果您选择第三个单选按钮,您将看到所有教师的复选框。 我根据用户选择显示和隐藏下拉列表。 如何进行表单验证-如果选择了第一个单选按钮,则仅显示该单选按钮的这些表单验证规则。这三个单选按钮也是如此。我的控制器是:

公共函数寄存器()
{
$this->form_validation->set_规则('first_name','first name','trim | required');
$this->form_validation->set_规则('last_name','last name','trim | required');
$this->form_validation->set_rules('username'、'username'、'trim | required |最小长度[6]|最大长度[12]|是唯一的[users.username]);
$this->form_validation->set_rules('password'、'password'、'trim | required | min_length[6]);
$this->form_validation->set_规则('password2','Confirm password','trim | required | matches[password]”);
$this->form_validation->set_rules('email'、'email'、'trim | required | valid|u email |是唯一的[users.email]);
$this->form_validation->set_规则('location'、'location'、'trim | required');
$this->form_validation->set_规则('school[]','school','required');
$this->form_validation->set_规则('class[]','class','required');
$this->form_validation->set_规则('role_id','role','required');
$this->form_validation->set_规则('class_divisions[]','class division','required');
$this->form_validation->set_规则('region','region','required');
$this->form_validation->set_规则('teacher[],'teacher','required');
//$this->form_validation->set_规则('all_teachers_show'、'all teachers'、'required');
如果($this->form\u validation->run()==FALSE)
{
$this->signup();
}
其他的
{  
如果($this->user\u model->register())
{
$data['dynamic_view']='success_reg';
$this->load->view('templates/main',$data);
}
其他的
{
$this->load->model('user_model');
$data['dynamic_view']='register_form';
$data['regions']=$this->user\u model->regions\u show();
$data['classes']=$this->user\u model->classes\u show();
$data['school\u show']=$this->user\u model->school\u show();
$data['class_divisions']=$this->user_model->class_divisions_show();
$data['all_teachers_show']=$this->user_model->all_teachers_show();
$this->load->view('templates/main',$data);
}   
}

}
在控制器中,按如下方式检查发布的数据-

    if ($this->input->post('radio_button') == 1){
        $this->form_validation->set_rules('min_length', 'Minimum Length', 'trim|required|max_length[3]|integer');
           //add more validation
    }
    if ($this->input->post('radio_button') == 2){
        $this->form_validation->set_rules('min_length', 'Minimum Length', 'trim|required|max_length[3]|integer');
           //add more validation
    }

我尝试过这个,但它没有显示任何验证错误。我使用了:if($this->input->post('role_id[])==1){$this->form_validation->set_rules('first_name','name','trim | required');$this->form_validation->set_rules('last_name','name','trim | required');//等等。}我还尝试了($this->input->post->role_id')==1){但是没有错误您是否测试了表单是否提交到控制器功能?我的表单验证工作正常并显示了错误。但是现在我想添加如果选中了名为role_id、值为1、2或5的确定单选按钮,则只显示这些下拉列表中的这些验证错误,而不是全部。Somethnig with if($this->input->post('role_id')==1{是问题所在,这是访问它的方式-我的收音机名为role_id[]?:)你能改变你的单选按钮名称格式,让这三个单选按钮组成一个单选按钮组,名称相同,但值肯定不同吗?我用名称role_id[]对它们进行了修改,值为1、2或5。我用var_dump对其进行了测试($this->input->post('role_id')),它向我显示了我选择的单选值,但为什么验证不起作用?我也不能为所有下拉列表和单选按钮设置值-表单提交时无需再次选择。它适用于文本输入,但对于下拉列表和单选列表,我不能这样做。请参阅我的代码;)这可能是因为我隐藏它们并使用jQuery吗?