我知道以前曾经问过这个问题,而且我已经查看了所有发布的答案,但无济于事。基本上,我正在尝试在CI2 +项目上扩展Codeigniter表单验证库,但每次我都收到错误:
Fatal error: Call to a member function get_errors_array() on a non-object
以下是我的代码:
应用/核心/ CB_Form_validation.php
class CB_Form_validation extends CI_Form_validation{
function __construct($rules = array()) {
parent::__construct($rules);
log_message('debug', "CB_Form_validaiton class initialized");
}
public function get_errors_array() {
return $this->_error_array;
}
}
然后在我的ajax文件中我有构造等。
public function save(){
if($this->form_validation->run() == FALSE){
}
}
并在if语句中我尝试了以下内容:
echo $this->form_validation->get_errors_array();
echo $this->cb_form_validation->get_errors_array();
echo get_errors_array();
我也尝试将CB_Form_validation.php
放在应用程序/库中。同样,我也在我的ajax控制器构造中尝试了这个
$this->load->library('CB_Form_validation');
$this->load->library('core/CB_Form_validation');
我已将CB_
设置为我的自定义类前缀
答案 0 :(得分:0)
事实证明,要解决此问题,您应该执行以下操作:
application/libraries
文件夹$this->form_validation->method()
访问您想要的功能form_validation
库,就不需要执行$this->load->library('custom_class')
,因为CI会自动选择您的自定义前缀希望这有助于某人