【问题标题】:Codeigniter Custom Form ValidationCodeigniter 自定义表单验证
【发布时间】:2010-11-05 05:29:15
【问题描述】:

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

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()给​​出错误信息告诉密码和重新输入密码不一样。

【问题讨论】:

    标签: validation codeigniter


    【解决方案1】:

    您可以像这样指定规则:

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

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

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

    【讨论】:

      【解决方案2】:

      添加:

      matches[txtRePassword]
      

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

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

      向客户发送错误消息

      【讨论】:

        猜你喜欢
        • 2020-07-02
        • 2019-11-21
        • 1970-01-01
        • 2011-10-30
        • 1970-01-01
        • 2012-10-04
        • 2020-04-27
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多