我的页面中有2个表单.我需要一次验证它们1,但我认为存在冲突.这里看看:

当我提交任何一个表单时,它们都显示相同的错误消息
我validation_errors()用来显示消息.如何一次验证表单1?
这是代码
public function update_user_info(){
$this->form_validation->set_rules("firstname","First Name","required");
$this->form_validation->set_rules("lastname","Last Name","required");
$this->form_validation->set_rules("middlename","Middle Name","required");
if($this->form_validation->run()===false){
//wrong
}
else { //correct }
}
Run Code Online (Sandbox Code Playgroud)
我刚遇到这个问题.我的解决方案是:
1.首先设置第一个提交按钮名称='update_info'
2.其次设置第二个提交按钮名称='change_password'
3.最后更改update_user_info().
public function update_user_info(){
if (isset ($_POST['update_info'])) {
$this->form_validation->set_rules("firstname","First Name","required");
$this->form_validation->set_rules("lastname","Last Name","required");
$this->form_validation->set_rules("middlename","Middle Name","required");
if($this->form_validation->run()===false){
//wrong
}
else { //correct }
}
else if (isset ($_POST['change_password'])){
form_validation of your change password
}
Run Code Online (Sandbox Code Playgroud)
我认为这是解决问题的最简单方法.
祝好运.
您可以为每个表单获取一个隐藏的输入
First Form:
<input type="hidden" name="form" value="form1" />
Second Form:
<input type="hidden" name="form" value="form2" />
Run Code Online (Sandbox Code Playgroud)
在控制器中,您可以为每个表单设置规则数组
$config['form1'] = array(
array(
'field' => 'username',
'label' => 'Username',
'rules' => 'required'
),
array(
'field' => 'password',
'label' => 'Password',
'rules' => 'required'
),
);
$config['form2'] = array(
array(
'field' => 'email',
'label' => 'Email',
'rules' => 'required'
),
);
Now check which hidden field posted
$form = $this->input->post('form')
Now you can set rules as below
$this->form_validation->set_rules($config[$form]);
if ($this->form_validation->run()):
// process form
else:
$data[$form.'_errors'] = validation_errors();
endif;
Run Code Online (Sandbox Code Playgroud)
现在在您的视图文件中
if (isset($form1_errors)) echo $form1_errors;
if (isset($form2_errors)) echo $form2_errors;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7585 次 |
| 最近记录: |