Проверка правильности формы codeigniter set_value работает только для полей, которые имеют правила
Предположим, что у меня есть два поля в моей форме: first_name и last_name
Я установил правило проверки только для first_name.
set_value должен работать для обоих полей независимо от правила? прав?
Для меня это работает только для полей, у которых есть правила с ними!!!
Ответы
Ответ 1
set_value работает только с элементами, которые вы выбрали для проверки, используя класс form_validation.
Самый простой способ - притвориться, что вы проверяете, добавив это в конфигурацию проверки формы
массив ( 'field' = > 'address1', 'label' = > '', 'rules' = > '' ),
В библиотеке CI есть хак, но я не смог найти документацию по этому поводу сегодня... Или используйте эту модификацию вместо:
http://codeigniter.com/forums/viewthread/159535/#775628
Ответ 2
Существует простое решение этой проблемы. pass $_POST['your_field_name']
variable в качестве второго параметра для полей, у которых нет никакого правила проверки.
echo set_value('o_title',$_POST['o_title']);
Это сработало для меня.
Ответ 3
если вы установите правило проверки только с первым параметром, он, кажется, работает нормально.
$this->form_validation->set_rules('city');
и др.
поэтому не существует правила проверки, но оно повторно заполняет поле для вас.
Ответ 4
Если вам нужна поддержка set_checkbox, см. этот код.
MY_form_helper.php с поддержкой set_checkbox
Ответ 5
несколько раз я использую фальшивое правило, например trim или callback, чтобы повторно заполнить зарегистрированные данные.
$this->form_validation->set_rules('city','City','trim');