Я попытался сделать следующее:
$this->form_validation->set_rules('username', 'lang:login_username', 'callback_login_check'); $this->form_validation->set_rules('username', 'lang:login_username', 'callback_employee_location_check');
Я бы не получил ошибку оценки, но это условие всегда было TRUE:
if($this->form_validation->run() == FALSE)
Если я изменю приведенные выше 2 строки на:
$this->form_validation->set_rules('username', 'lang:login_username', 'callback_login_check|callback_employee_location_check');
Затем он работает так, как ожидалось. Почему я не могу использовать первую форму? Второй ли перезаписывает первый, и проверка входа никогда не вызвана?
Как вы сказали, когда вы комбинируете оба обратных вызова внутри set_rules (), это работает. Это верно. Если вы вводите их поочередно, они перезаписывают друг друга. Все правила ввода формы должны быть в одном методе set_rules ().