Расширить проверку формы

Мне нужно расширить библиотеку проверки формы, чтобы метод возвращал массив ошибок.

Я создал новую библиотеку с методом get_error_array в папке библиотеки:

class My_Form_validation extends CI_Form_validation { public function __construct(){ parent::__construct(); } public function get_error_array(){ return $this->_error_array; } } 

В файле конфигурации автозагрузки у меня есть:

 $autoload['libraries'] = array('form_validation', 'my_form_validation'); 

Но когда я вызываю $this->my_form_validation->get_error_array() в контроллере после проверки submit, метод возвращает пустой массив.

Примечание: проверка была FALSE.

Есть идеи ?

Обновление # 1

Согласно документации, я обновил свой код, но результат тот же:

 class MY_Form_validation extends CI_Form_validation { public function __construct(){ parent::__construct(); } public function get_error_array(){ return $this->_error_array; } } 

Я отключил автозагрузку и вручную загрузил библиотеку с контроллера:

  $this->load->library('form_validation'); /* Validation */ if($this->form_validation->run('join_request') === false){ $e = $this->form_validation->get_error_array(); var_dump($e); } 

http://www.codeigniter.com/user_guide/general/creating_libraries.html

ОБНОВЛЕНИЕ # 2

Я произнес эхо на конструкторе и работаю. В get_error_array введите var_dump:

 # echo extending CI_Form_validation ... object(MY_Form_validation)[17] protected 'CI' => & ... protected '_field_data' => array (size=0) empty protected '_config_rules' => array (size=0) empty protected '_error_array' => array (size=0) empty protected '_error_messages' => array (size=0) empty protected '_error_prefix' => string '<p>' (length=3) protected '_error_suffix' => string '</p>' (length=4) protected 'error_string' => string '' (length=0) protected '_safe_form_data' => boolean false public 'validation_data' => array (size=0) empty 

Это мой файл проверки (config / form_validation.php):

 $config = array( 'radio_report' => array( array( 'field' => 'id', 'label' => 'id', 'rules' => 'trim|required|is_natural_no_zero' ) ), 'join_request' => array( array( 'field' => 'owner', 'label' => 'owner', 'rules' => 'trim|required|min_length[3]|max_length[100]|alpha' ), array( 'field' => 'lang', 'label' => 'lang', 'rules' => 'trim|required|exact_length[2]|alpha' ), array( 'field' => 'email', 'label' => 'email', 'rules' => 'trim|required|valid_email|max_length[60]' ), array( 'field' => 'website', 'label' => 'website', 'rules' => 'trim|required|valid_url|max_length[255]' ), array( 'field' => 'stream', 'label' => 'stream', 'rules' => 'trim|required|valid_url|max_length[255]' ), array( 'field' => 'protocol', 'label' => 'protocol', 'rules' => 'trim|required|min_length[3]|max_length[30]' ), array( 'field' => 'codec', 'label' => 'codec', 'rules' => 'trim|required|min_length[3]|max_length[10]' ) ) );