这是我在控制器上注册新用户的注册方法。
function register() {
$config_rules = array(
array(
'field' => 'txtEmail',
'label' => 'Email',
'rules' => 'required|valid_email'
),
array(
'field' => 'txtPassword',
'label' => 'Password',
'rules' => 'required|min_length[6]'
),
array(
'field' => 'txtRePassword',
'label' => 'Re-type Password',
'rules' => 'required|min_length[6]'
)
);
$this->form_validation->set_rules($config_rules);
if(isset($_POST['btnSubmit']) && $this->form_validation->run() == TRUE)
{
// insert query and redirect to registration success page
}
$this->load->view('users/register_form');
}
表单验证的所有规则都可以正常工作。 但是,问题是我不能做的是验证密码和重新输入密码。
如何进行自定义表单验证,例如检查 密码和重新输入的密码是否相同。然后返回false进行验证,并通过validation_errors()给出错误消息,告知密码和重新输入的密码不相同。
答案 0 :(得分:4)
您可以指定如下规则:
$rules['password'] = "required|matches[passconf]";
在上面的示例中,字段password
将与密码确认字段passconf
匹配。
有关详细信息,请参阅文档。
答案 1 :(得分:2)
添加:
matches[txtRePassword]
到密码规则,然后你可以使用:
$this->validation->set_message('matches', 'New Passwords don\'t match');
发出客户错误消息