我想驗證我的登錄表單,並對我的用戶名和密碼字段有規定。Codeigniter顯示個人自定義錯誤
$this->form_validation->set_rules('username', 'Username', 'trim|required|xss_clean');
$this->form_validation->set_rules('password', 'Password', 'trim|required|xss_clean|callback_check_database');
所以我callback_check_database功能是密碼字段。
所以在我的check_database功能,我有:
$this->form_validation->set_message('check_database', 'Invalid username or password');
return false;
所以我設置的是我想要顯示的自定義消息。
在我看來,我想單獨顯示check_database錯誤。我不想顯示任何其他錯誤。
這是我曾嘗試:
// does not work
<?php echo form_error('check_database'); ?>
// this works
<?php echo form_error('password'); ?>
如此,因爲它是密碼字段,當我顯示密碼錯誤,它纔會顯示。但這意味着,因爲密碼是必填字段,所以如果我不輸入任何內容,它將顯示一條說明密碼字段是必需的錯誤。
有沒有辦法只顯示我設置的自定義錯誤信息?
您正在執行'callback_check_database'而不是'check_database' – gorelative 2012-08-07 21:29:50
正確..我需要,因爲我使用了我創建的自定義驗證方法。 http://codeigniter.com/user_guide/libraries/form_validation.html#callbacks – Drew 2012-08-07 21:34:40
你問在如何處理form_validation上的所有錯誤,而你設置規則要求字段..簡單的邏輯'不需要字段'通過一切直接到你的回調 – Gntem 2012-08-07 21:41:20