CodeIgniter - 表单验证回调问题

时间:2013-03-11 08:58:28

标签: php codeigniter

我想知道是否有人能为我解决问题。

在我的codeigniter表单验证规则中,我有一个名为email_exists的回调,其设置如下

->set_rules( 'login', 'Email Address', 'trim|valid_email|required|xss_clean|callback__email_exists' )

在同一个控制器中我有它调用的功能如下

function _email_exists()
{
    // Code here
}

这很有效,而且由于方法名称之前的_所以我无法从URL访问该方法...所以它的工作完美。

我查看了CI文档,它说回调使用私有方法...但每次我在方法名称之前加上'private',它根本不起作用。

可以保持原样。

干杯,

2 个答案:

答案 0 :(得分:1)

该方法不能是私有的,因为验证类无法访问回调方法。

The documentation还表明应该将回调方法声明为public。

你应该保持原样。

答案 1 :(得分:0)

可以保持原样,因为CodeIgniters _前缀将阻止公众访问该方法(这意味着它无法通过URL访问该函数)。

manual在这一部分可能有点令人困惑,因为它们将_前缀的函数定义为私有(它们的真正意思是隐藏在公共访问之外)。但是,函数可能仍然被声明为公共(就像您在代码中一样),但仍然不能公开访问。