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

#codeigniter-2

#codeigniter-2

Вопрос:

Предположим, что в моей форме есть два поля, а именно 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

Комментарии:

1. Важно указать, что затем вы должны также вызвать метод запуска form_validations. Одной установки правил проверки недостаточно.

Ответ №2:

Существует простое решение этой проблемы. передайте $_POST['your_field_name'] переменную в качестве второго параметра для полей, для которых нет никакого правила проверки.

 echo set_value('o_title',$_POST['o_title']);
  

У меня это сработало.

Комментарии:

1. Это не очень хорошее решение — при первой загрузке формы будет выдаваться ошибка ‘undefined index’, поскольку в массиве $ _POST ничего нет, и это не позволяет вам предоставить подлинное значение по умолчанию, если вам нужно.

Ответ №3:

если вы задаете правило проверки только с первым параметром, кажется, что оно работает нормально.

 $this->form_validation->set_rules('city');
  

и т.д.

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

Ответ №4:

Если вам нужна поддержка set_checkbox, смотрите Этот код.

MY_form_helper.php с поддержкой set_checkbox

Ответ №5:

иногда я использую поддельные правила, такие как trim или обратный вызов, просто для повторного заполнения поданных данных

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