在控制器级别的Codeigniter中进行自定义验证

时间:2013-03-25 13:22:58

标签: php codeigniter validation

我想在控制器端使用自定义验证。我想在验证中使用CI的表单验证器。

注意:我将对Web服务使用该验证。 (这就是它将保持在控制器级别的原因)

我试着这样做,格式可接受吗?

        $this->form_validation->set_rules('$userFullName', 'Username', 'trim|required|min_length[5]|max_length[12]|xss_clean');
        $this->form_validation->set_rules('$userNickName', 'UserNickname', 'trim|required|min_length[5]|max_length[12]|xss_clean');
        $this->form_validation->set_rules('$userEmail', 'Email', 'trim|valid_email');
        $this->form_validation->set_rules('$userPassword', 'Password Confirmation', 'trim|required|alpha_numeric|min_length[5]|max_length[12]|');

           if ($this->form_validation->run() == FALSE)
       { 
            if(!$this->validate_member->set_message($userFullName,'userFullName', 'trim|required|min_length[5]|max_length[12]|xss_clean'))
            {

                $error_code = '102';

            } else if (!$this->validate_member->set_message($userNickName,'userNickName', 'UserNickname', 'trim|required|min_length[5]|max_length[12]|xss_clean')){

                $error_code = '103';

            } else if (!$this->validate_member->set_message($userEmail, 'Email', 'trim|valid_email')){

                $error_code = '104';

            } else if(!$this->validate_member->set_message($userEmail, '$userPassword', 'Password Confirmation', 'trim|required|alpha_numeric|min_length[5]|max_length[12]|')){

                $error_code = '105';

            } else {

                $error_code = '106';

            } 

任何建议都将受到赞赏..

1 个答案:

答案 0 :(得分:0)

我认为您可以在系统>库中的Form_validation.php中设置自定义验证,您可以设置新的函数名称和新验证,并使用该语言设置错误消息。