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]');
...