CodeIgniter—表单验证回调问题


CodeIgniter - Form Validation callback issues

不知道有没有人能帮我弄清楚。

在我的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'放在方法名之前,它根本不起作用。

让它保持原样好吗?

欢呼,

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

文档还显示回调方法应该声明为public。

让它保持原样是可以的,因为CodeIgniters _前缀将阻止对该方法的公共访问(这意味着不可能通过URL访问您提到的函数)。

手册在这部分可能有点令人困惑,因为它们将以_为前缀的函数定义为private(它们的真正含义是对公共访问隐藏的)。然而,函数可能仍然被声明为公共的(就像在代码中一样),但仍然对公共访问隐藏。