не работает URL обратного вызова проверки пользовательской формы codeigniter

#php #codeigniter #validation #codeigniter-form-helper

#php #codeigniter #проверка #codeigniter-form-helper

Вопрос:

привет, я использую проверку формы codeigniter, я хочу добавить проверку пользовательской формы для своего price поля

я пытаюсь это

в контроллере

 $this->ci->form_validation->set_rules ( 'price', 'Price', 'callback_test' ); 
  

и у меня есть функция

 private function test()
{
    echo "hello"; die ;
}
  

я пытаюсь добавить пользовательский URL обратного вызова test здесь. но не работает

я пытаюсь использовать этот пример

http://codeigniter.com/user_guide/libraries/form_validation.html#callbacks

но мне нравится, что проверка работает

 $this->ci->form_validation->set_rules ( 'price', 'Price', 'required' );
  

почему моя функция обратного вызова URL не работает. пожалуйста, помогите мне. Спасибо…………..

Ответ №1:

Пользовательская функция обратного вызова должна возвращать значение TRUE или FALSE для корректной работы. Кроме того, ввод die() инструкции на самом деле вам здесь не поможет…

Это тривиальный пример кода, но я надеюсь, что вы понимаете картину:

 $this->form_validation->set_rules ( 'price', 'Price', 'required|callback_test' );

function test($string)
{
   return ($string == 'something') ? TRUE : FALSE;
}
  

$string это значение, поступающее из input-> post и автоматически передаваемое вашей функции обратного вызова.
Вам также необходимо указать сообщение об ошибке для этого обратного вызова, иначе вы получите сообщение об ошибке «сообщение об ошибке не предоставлено для пользовательского поля» или что-то в этом роде.

 $this->form_validation->set_message('test', 'The value you provided is not in the right format');