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

[已解决] 如何退出控制器中某一方法?

[复制链接]
发表于 2010-3-28 22:38:08 | 显示全部楼层 |阅读模式
刚刚接触CI一周时间,周末的时候才认真的读了一下使用手册。
今天开始用CI做一些小东西。

可能帖子的标题表达得不太清楚,

是这样的。

我现在有一个控制器User其中有一个方法CheckLogin
这个方法中使用了CI的验证库,大致代码如下

PHP复制代码
 
function CheckLogin(){
        $this->load->library('form_validation');
        $valiStr = 'trim|required|xss_clean|min_length[5]|max_length[12]';
        $this->form_validation->set_rules('UserName', '用户名', $valiStr);
        $this->form_validation->set_rules('Password', '密码', $valiStr);
 
 
        //开始校验表单
        if($this->form_validation->run() == FALSE){
            $this->load->view('login_view');
        }
         //问题就在这里,如果上面表单校验失败的话,还回继续网下执行。
        //校验用户是否存在数据库中
……
 
}
 
复制代码


如上所示,如果表单校验失败,我想跳出整个CheckLogin()方法。但是程序却执行了下面‘检查用户是否存在数据库中’的代码。
请问各位大侠用什么方法可以跳出整个代码。

ps:我不想使用 if(){}else{}等结构,我还想在校验表单前检查验证码。,如果使用if()else{} 就会嵌套很多,以后维护不方便。

先在这里感谢各位大侠了。
发表于 2010-3-28 23:03:03 | 显示全部楼层
set_rules()用自定义函数检测验证码,详细请看手册form_validation部分
 楼主| 发表于 2010-3-28 23:16:55 | 显示全部楼层
感谢版主大大的回复,

我先研究一下~~。回调函数
 楼主| 发表于 2010-3-28 23:38:51 | 显示全部楼层
我将验证规则都配置了config/form_validation.php中。应该如何配置回调?
发表于 2010-3-29 00:14:38 | 显示全部楼层
请仔细看手册,你的问题在手册里可以找到完整答案
 楼主| 发表于 2010-3-29 00:27:55 | 显示全部楼层
本帖最后由 linde 于 2010-3-29 00:34 编辑

感谢斑竹大大如此晚都还回答我的问题~~

出现了新的问题,

验证时提示
Unable to access an error message corresponding to your field name
发表于 2010-3-29 02:53:20 | 显示全部楼层
再说次,请详细看手册,在手册页面搜索“设置错误信息”
看到一半就不看了,写程序处处撞墙
发表于 2010-3-29 03:17:33 | 显示全部楼层
请楼主仔细看手册。
我帮楼主找来了链接 http://codeigniter.org.cn/user_g ... .html#settingerrors
发表于 2010-3-29 09:06:19 | 显示全部楼层
if($this->form_validation->run() == FALSE){
            $this->load->view('login_view');
            //在下面加return 就行了
            return ;
}
发表于 2010-3-29 09:37:16 | 显示全部楼层

本版积分规则