您必须扩展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