CodeIgniter 2.0 - проверка массивов - PullRequest
3 голосов
/ 07 марта 2011

У меня проблемы с преобразованием кода проверки формы в CI 2.0.Я пытаюсь проверить массив флажков, но по какой-то причине при проверке не удается выполнить обратный вызов или нет проверки.

Как проверить массив флажков, чтобы хотя бы один из них был проверен, а значения должныбыть одним из параметров (ключ массива параметров)?

РЕДАКТИРОВАТЬ:

Вот лучшее объяснение того, где он мне не удается.Допустим, у меня есть следующие поля:

<input type="checkbox" value="1" name="purpose[]" />
<input type="checkbox" value="2" name="purpose[]" />

Я установил два правила для цели [] - одно является обязательным правилом, другое является настраиваемым обратным вызовом, который проверяет, присутствует ли значение в массивевозможные значения.

Если я отредактирую имя поля на:

<input type="checkbox" value="1" name="purpose[abc]" />

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

У кого-нибудь есть идеи, как с этим справиться?

1 Ответ

10 голосов
/ 07 марта 2011

Массив должен быть передан вашему вызову set_rules с суффиксом открывающих / закрывающих квадратных скобок, например так:

$this->form_validation->set_rules('checkboxes[]', 'My Checkboxes', 'required');

Более подробная информация содержится в руководстве пользователя CI - https://www.codeigniter.com/user_guide/libraries/form_validation.html#using-arrays-as-field-names

Чтобы обработать проверку, чтобы значения вашего флажка были одним из нескольких значений, вам необходимо создать пользовательскую функцию обратного вызова - https://www.codeigniter.com/user_guide/libraries/form_validation.html#callbacks-your-own-validation-methods

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...