Проверка правильности формы 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');

и др.

поэтому не существует правила проверки, но оно повторно заполняет поле для вас.

Ответ 5

несколько раз я использую фальшивое правило, например trim или callback, чтобы повторно заполнить зарегистрированные данные.

$this->form_validation->set_rules('city','City','trim');