Codeigniter自定义表单验证

时间:2010-11-05 05:29:16

标签: validation codeigniter

这是我在控制器上注册新用户的注册方法。

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()给出错误消息,告知密码和重新输入的密码不相同。

2 个答案:

答案 0 :(得分:4)

您可以指定如下规则:

$rules['password'] = "required|matches[passconf]";

在上面的示例中,字段password将与密码确认字段passconf匹配。

有关详细信息,请参阅文档。

答案 1 :(得分:2)

添加:

matches[txtRePassword]

到密码规则,然后你可以使用:

$this->validation->set_message('matches', 'New Passwords don\'t match');

发出客户错误消息