2013-03-11 67 views
1

林想知道是否有人可以爲我解決問題。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',它根本不起作用。

它可以保持原樣。

乾杯,

回答

1

的驗證類是不能訪問的回調方法,該方法不能是私有的。

The documentation還顯示回調方法應聲明爲公共。

你應該保持原樣。

+0

Ahhhhhhhhh ...剛剛發生的驗證是一個單獨的類哈哈哈...好的,謝謝你的 – BigJobbies 2013-03-11 09:09:35

0

可以保持原樣,因爲CodeIgniters _前綴將阻止公共訪問該方法(這意味着無法像前面提到的那樣通過URL訪問函數)。

manual這部分可能有點令人困惑,因爲它們將以_作爲前綴的函數定義爲私有(它們實際上隱藏於公共訪問之下)。然而,一個函數可能仍然是公開的(就像你在代碼中一樣),但仍然隱藏在公共訪問中。