Обратный вызов проверки CodeIgniter не вызывается - PullRequest
0 голосов
/ 07 февраля 2010

Моя функция обратного вызова из правил проверки не вызывается. Другие правила проверки для этого поля называются

$rules[‘login_name’] = “required|max_length[12]|alpha_dash|callback__check_login_name”;
function _check_login_name($login_name) {
    echo "here"; // DOESNT WORK
 }

Итак, в приведенной выше строке обязательны max_length, alpha_dash, а обратный вызов - нет. Спасибо!

Ответы [ 3 ]

1 голос
/ 07 февраля 2010

Может случиться так, что метод как-то не читается вне области видимости. Работает ли это, когда вы просто вызываете _check_login_name вручную (извне класса)? Если это не проблема, то вы пытались поместить эхо в системную папку Form_validation.php? Поместите ряд после строки 581. После этого потребуется больше кода для получения дополнительной помощи.

0 голосов
/ 08 февраля 2010

У меня такое ощущение, что вы используете старый класс проверки . Попробуйте новый Класс проверки формы . Я думаю, что была ошибка с этим в старом.

0 голосов
/ 07 февраля 2010

Для тестирования попробуйте это вместо echo:

function _check_login_name($login_name) {
    $this->form_validation->set_message('_check_login_name', 'The callback was called.');
    return FALSE;
}

Для записи обратных вызовов в руководстве по CI : «Если ваш обратный вызов возвращает что-либо кроме логического ИСТИНА / ЛОЖЬ, предполагается, что данные - это только что обработанные данные формы».

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...