我正在尝试在我的 Codeigniter 项目中创建一组表单验证规则,以便当第一个验证集的验证失败时,第二个验证集不应运行。
我在 CI 手册中找到了这个:
$config = array(
'signup' => array(
array(
'field' => 'username',
'label' => 'Username',
'rules' => 'required'
),
array(
'field' => 'password',
'label' => 'Password',
'rules' => 'required'
),
array(
'field' => 'passconf',
'label' => 'PasswordConfirmation',
'rules' => 'required'
),
array(
'field' => 'email',
'label' => 'Email',
'rules' => 'required'
)
),
'email' => array(
array(
'field' => 'emailaddress',
'label' => 'EmailAddress',
'rules' => 'required|valid_email'
),
array(
'field' => 'name',
'label' => 'Name',
'rules' => 'required|alpha'
),
array(
'field' => 'title',
'label' => 'Title',
'rules' => 'required'
),
array(
'field' => 'message',
'label' => 'MessageBody',
'rules' => 'required'
)
)
);
$this->form_validation->set_rules($config);
我知道我现在可以单独运行每个集合的验证(在本例中为 $this->form_validation->run('signup') 和 $this->form_validation->run('email'))。
问题是,当我使用 $config 数组时,错误不会被添加到表单验证类中(因此不会显示),而表单发布失败。当我不使用规则集时,它确实添加并显示了错误,而只是 $this->form_validation->set_rules() 方法。
在使用一组规则时输入无效的表单数据时没有添加错误消息,我做错了什么?