Может ли кто-нибудь увидеть, что мне не хватает?Ошибка обратного вызова Codeigniter
Я использую Codeigniter v1.72.
В документ:
http://codeigniter.com/user_guide/libraries/form_validation.html
Она гласит:
$ this-> form_validation-> set_rules ('имя пользователя', 'Имя пользователя', 'callback_username_check');
function username_check($str)
{
if ($str == 'test')
{
$this->form_validation->set_message('username_check', 'The %s field can not be the word "test"');
return FALSE;
}
else
{
return TRUE;
}
}
В моем классе User расширяет Controller
Я имею в функции регистра:
$this->form_validation->set_rules('username', 'Username', 'trim|required|xss_clean', 'callback_username_check('.$username.')');
I have also tried
$this->form_validation->set_rules('username', 'Username', 'trim|required|xss_clean', 'callback_username_check');
И
$this->form_validation->set_rules('username', 'Username', 'trim|required|xss_clean', 'callback_username_check['.$username.']');
function username_check($str)
{
$this->load->model('User_model', '', TRUE);
$taken = $this->User_model->countUsername($str);
if($taken)
{
$this->form_validation->set_message('username_check', 'That username is already taken');
return FALSE;
}
else
return TRUE;
}
Там нет ошибок вообще, ни один из моих подходов работы , код ведет себя так, как будто его нет.
Я не вижу, где вы можете добавить обратный вызов этой функции. – helle
@helle: Функция является обратным вызовом. Если вы прочтете веб-страницу, которую он привел, вы увидите, что 'callback_username_check' устанавливает' username_check' в качестве обратного вызова. –