У меня есть функция входа в CodeIgniter с этим кодом:
public function login() { $this->redirect_if_logged($this->login_check()); $this->data['active'] = 'login'; $this->load->model('user_model'); $this->load->library('form_validation'); $this->form_validation->set_rules('email', 'Email', 'trim|required|xss_clean'); $this->form_validation->set_rules('password', 'Password', 'trim|required|xss_clean|callback__validate_login'); if (!$this->form_validation->run()) { $this->load->template('login', $this->data); } else { redirect('/','refresh'); } }
И функция проверки:
public function _validate_login($password) { $this->form_validation->set_message('_validate_login', 'Invalid username or password'); return false; }
Проблема в том, что пользовательская функция никогда не вызывается, валидатор всегда возвращает true, если все правила проходят. Сам валидатор работает, я проверил его с другими правилами. Это просто игнорирует мою пользовательскую функцию. Что мне здесь не хватает?