2016-11-28 129 views
0

我在下面有下面的代碼。我的問題是它只觸發回調。 required和valid_email規則不會被調用。我期望按順序執行規則。但是當我刪除回調它運行正常。 TIA。Codeigniter表單驗證回調問題

$this->form_validation->set_rules('search_word', 'Email address', 'trim|required|valid_email|callback_has_valid_credentials'); 

$this->form_validation->set_message('has_valid_credentials', '{field} is not registered in the system.'); 

if ($this->form_validation->run() == FALSE){ 

    $this->load->view('login/reset'); 
    return; 
    } 
+0

您是否定義了一個名爲has_valid_credentials的函數? –

+0

請嘗試[this](http://stackoverflow.com/a/40836772/6054930);) – ShutUpMagda

+0

@ErolKESKİN是的,我有函數名爲has_valid_credentials。我嘗試了前綴'callback_has_valid_credentials',並通過數據庫進行搜索。我也嘗試沒有** callback_前綴**和必需和valid_email都工作,但回調不是。這是一個錯誤嗎? – Tooteet

回答

1

您沒有一個名爲has_valid_credentials定義的函數。

public function has_valid_credentials($str) { 
    /** Write validation code here **/ 
} 

供您參考,請查閱文檔。

https://www.codeigniter.com/userguide3/libraries/form_validation.html#callbacks-your-own-validation-methods

+0

對不起。我沒有包含has_valid_credentials函數代碼,但我有。我只是指出這個問題,即每當我包含回調時,其他兩個規則都不會被觸發,只有回調。 – Tooteet