mackxu 发表于 2012-8-6 15:41:12

新手关于一个表单验证类的问题

http://codeigniter.org.cn/forums/data/attachment/album/201208/06/153739vulf9i57t4fi84se.jpg
自定的规则                            array(                                     'field'=>'username',                                     'label'=>'用户名',                                     'rules'=>'trim|required|xss_clean|callback_username_check'                            ),                            array(                                     'field'=>'password',                                     'label'=>'密码',                                     'rules'=>'trim|required|xss_clean|callback_password_check'                            )自定义的回调函数:username_check()如果输入的用户名不存在,返回false问题:怎样自定义函数username_check()当用户名不存在时,停止对密码的验证,即没有任何错误。(如你看到的)如果用户名不存在就没必要再验证密码是否为空,更谈不上密码是否正确了。当然用ajax是很容易做到的,我想知道ci有没有此功能

东来东往 发表于 2012-8-7 16:06:17

写清楚一点呀,怎么写才会弹出用户存在啊

mackxu 发表于 2012-8-7 16:41:02

东来东往 发表于 2012-8-7 16:06 static/image/common/back.gif
写清楚一点呀,怎么写才会弹出用户存在啊

用户不存在是自定义错误提示。代码如下:

            /**
       * 提示用户名是否不存在的检查
       * @param string $username
       * @return bool
       */
        function username_check($username)
        {
                if ($this->MAccount->get_by_username($username))
                {
                        //通过模型MAccount的get_by_username()函数检查用户名是否存在
                        //输入的用户名存在,返回TRUE,即用户名这项检查通过
                        return TRUE;                               
                }
                else
                {
                        //自定义错误提示
                        $this->form_validation->set_message('username_check', '用户名不存在');
                        return FALSE;                                //输入的用户名不存在时,返回FALSE
                }
        }       

登录表单提交后,会表单验证,如果用户名存在,不会提示任何信息。
重复我的问题:就是怎样在用户名验证不通过时,马上结束验证。表单后面的部分(如密码)不会被验证

liya22315 发表于 2012-8-7 17:00:32

你的密码验证的函数写在哪里?

东来东往 发表于 2012-8-7 17:38:51

高手,你的Q是多少啊我想加你

mackxu 发表于 2012-8-7 21:06:31

东来东往 发表于 2012-8-7 17:38 static/image/common/back.gif
高手,你的Q是多少啊我想加你

我是有问题的新手.密码验证函数写在和调用它的login()函数同一个控制器里.
页: [1]
查看完整版本: 新手关于一个表单验证类的问题