#php #oop #codeigniter
#php #ооп #codeigniter
Вопрос:
Я пытаюсь подтвердить имя пользователя (подключенное к mysql), но моя проверка coustom (обратный вызов) не будет работать.
Контроллер http://pastebin.com/RLitWDYf
Модель http://pastebin.com/6xygLwW5
Почему мой обратный вызов не выдает никаких ошибок, когда имя пользователя уже используется?
Ответ №1:
замените $this->form_validation->set_message('username_check', 'The username %s already exist');
на $this->form_validation->set_message('username', 'The username %s already exist');
Вы должны установить сообщение для username, а не username_check. Также проверьте, повторяете ли вы ошибку в своем представлении, используя <?php echo form_error('username') ?>
и затем переместите
if($this->home_model->check_username($username)) {
$this->form_validation->set_message('username_check', 'The username %s already exist');
}
к собственной функции в домашнем контроллере
function username_check($username) {
if($this->home_model->check_username($username)) {
$this->form_validation->set_message('username_check', 'The username %s already exist');
}
}
Комментарии:
1. Привет, теперь я заменил строку, как вы сказали. И это все еще не работает. Да, я действительно отображаю ошибку формы. Я получаю все остальное, но не ошибку «недопустимое имя пользователя»..
2. doh, обратный вызов доступен только для функций.