Codeigniter - отображение отдельного сообщения об ошибке для полей массива

Есть множество клиентов, каждый с индивидуальными деталями. Вот очень простой пример.

<input type="text" name="customer_names[]" />

В codeigniter требуется каждое имя_пользователя
$this->form_validation->set_rules('customer_names[]','Customer Names','required');

Если какое-либо из имен клиентов пустое, validation_errors(); показывает одно сообщение для всего массива.

Как я могу получить отдельные сообщения об ошибках для этого клиента?

НОТА: echo form_error('customer_names[0]'); это то, чего я пытаюсь достичь, где customer_name 0 оставлено пустым.

2 ответа

Глядя на документацию проверки формы, в частности, на раздел " Использование массивов в качестве имен полей ", я думаю, что вам нужно будет явно указать свои входные данные, включив индекс в имя, чтобы получить form_error() способ работать, как вы хотите.

Итак, для того, чтобы form_error('customer_names[0]') чтобы работать, на самом деле должен быть вход с именем customer_names[0],

У меня была такая же проблема с CodeIgniter 2.1.3. Я решил это так:

Ввод:

<input type="text" name="customer_names[0]" />
<input type="text" name="customer_names[1]" />
...

Форма проверки:

$this->form_validation->set_rules('customer_names[0]','Customer Names','required');
$this->form_validation->set_rules('customer_names[1]','Customer Names','required');
...

Ошибки отображаются так:

echo form_error('customer_names[0]');
echo form_error('customer_names[1]');
...

Другие вопросы по тегам