Codeigniter - 显示数组字段的单个错误消息
Posted
技术标签:
【中文标题】Codeigniter - 显示数组字段的单个错误消息【英文标题】:Codeigniter - Displaying individual error message for array fields 【发布时间】:2012-01-16 04:39:12 【问题描述】:拥有一系列客户,每个客户都有各自的详细信息。这是一个非常简单的例子。
<input type="text" name="customer_names[]" />
在 codeigniter 中,每个 customer_name 都是必需的$this->form_validation->set_rules('customer_names[]','Customer Names','required');
如果任何客户名称为空,validation_errors();
会为整个数组显示一条消息。
如何获取该客户的个别错误消息?
注意:echo form_error('customer_names[0]');
是我试图在 customer_name 0 留空的地方实现的目标。
【问题讨论】:
根据文档,应该可以:codeigniter.com/user_guide/libraries/… 你在看什么? 【参考方案1】:查看Form Validation 文档,特别是Using Arrays as Field Names 部分,我认为您需要明确命名您的输入
通过在名称中包含索引以使 form_error()
方法按您的意愿工作。
所以为了form_error('customer_names[0]')
工作,实际上必须有一个名称为customer_names[0]
的输入。
【讨论】:
这对我来说效果很好,尽管我必须用它们各自的键明确命名我的字段才能有用。这个answer here 说 CodeIgniter 3 有一个功能。 @machineaddict 的答案与此相同,但我不需要在规则名称中指定索引。【参考方案2】:我在使用 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]');
...
【讨论】:
以上是关于Codeigniter - 显示数组字段的单个错误消息的主要内容,如果未能解决你的问题,请参考以下文章
CodeIgniter 在带有 ajax 回调的表单字段旁边单独显示错误
是我做错了,还是在使用数组作为字段名时 CodeIgniter 表单验证库中存在错误?
使用连接(codeigniter)从单个字段中检索和打印逗号分隔符后的值