您必須擴展form_validation,_field_data
屬性受到保護,因此您無法在其課程或其子類之外訪問該屬性。
$this->form_validation->set_message('required', 'some message')
不會工作太多,因爲CI只會在運行驗證時檢查此數據,並且它將與驗證規則相關聯。
庫/ MY_Form_validation.php
class MY_Form_validation extends CI_Form_validation {
public function __construct() {
parent::__construct();
}
public function add_message($field, $message) {
//this field was validated without error
if(isset($this->_field_data[$field]) AND
(!isset($this->_field_data[$field]['error']) OR !$this->_field_data[$field]['error']))
$this->_field_data[$field]['error'] = $message;
}
}
$this->form_validation->add_message('field1', 'message for field1');
echo form_error('field1');
注: 消息將不會在validation_errors()
可用。 要這麼做,請添加$this->_error_array[] = $message
挖掘代碼我發現以這種方式直接訪問消息數組的方式:form_validation - > _ field_data ['field_name'] ['error'] =「我的自定義消息」。不那麼優雅.. – fustaki 2013-05-05 13:55:11
所以你解決了它? – SomeShinyObject 2013-05-05 13:56:18
你在那裏保存那個自定義的錯誤信息......... – 2013-05-05 13:59:09