2011-12-08 29 views
5

有一组客户,每个客户都有单独的详细信息。这是一个非常简单的例子。Codeigniter - 显示数组字段的单个错误消息

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

在笨,每个CUSTOMER_NAME需要
$this->form_validation->set_rules('customer_names[]','Customer Names','required');

如果任何客户名是空白的,validation_errors();示出了用于整个阵列的一个消息。

如何获取该客户的单个错误消息?

注意:echo form_error('customer_names[0]');是我想要实现的地方,其中customer_name 0留空。

+0

根据该文件,即建议立即进行删除工作:http://codeigniter.com/user_guide/libraries/form_validation.html#arraysasfields 什么是你看到? – swatkins

回答

1

望着Form Validation文档,特别是Using Arrays as Field Names部分,我想你会需要通过在名称的索引,以获得form_error()方法,你的愿望的工作,明确命名输入 。

因此,为了使form_error('customer_names[0]')能够正常工作,实际上必须有名称为customer_names[0]的输入。

+0

这对我来说很好,但我必须明确地命名我的领域与他们各自的键为了有用。这[这里回答](http://stackoverflow.com/a/32304264/406540​​7)说,CodeIgniter 3有这个功能。 –

+0

@machineaddict的答案与此相同,但我不需要在规则名称中指定索引。 –

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