用户
 找回密码
 入住 CI 中国社区
搜索
查看: 1376|回复: 2
收起左侧

[控制器] CI自定义表单验证问题

[复制链接]
发表于 2017-9-13 17:59:38 | 显示全部楼层 |阅读模式
不知道为什么,我根据手册操作自定义表单规则,但是老是提示这个

PHP复制代码
 
public function do_update_admin()
        {
                //调用验证规则
                $this->form_validation->set_rules('admin_user','* 原始密码','callback_username_check');
               
 
                $this->form_validation->set_rules('newpass','* 新密码','required');
                $this->form_validation->set_rules('renewpass','* 确认密码','required|matches[newpass]');
 
                       
                //表单验证
                if($this->form_validation->run() == FALSE)
                {
 
                        $this->load->view('admin/pass.html');
                }
               
        }
 
        public function username_check($str)
    {
        if ($str == 'test')
        {
            $this->form_validation->set_message('原始密码', '原始密码不对!');
            return FALSE;
        }
        else
        {
            return TRUE;
        }
    }
 
 
复制代码


验证后出现这个:(username_check)
发表于 2017-9-15 09:47:37 | 显示全部楼层
PHP复制代码
$this->form_validation->set_message('原始密码', '原始密码不对!');
复制代码

应该为:
PHP复制代码
$this->form_validation->set_message('username_check', '原始密码不对!')
复制代码


因为你用了回调,因此得设置回调的错误信息。

参见:
表单验证-设置错误信息
http://codeigniter.org.cn/user_g ... ting-error-messages
 楼主| 发表于 2017-9-25 14:00:41 | 显示全部楼层

太感谢您了

本版积分规则