#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');