【问题标题】:Codeigniter - Displaying individual error message for array fieldsCodeigniter - 显示数组字段的单个错误消息
【发布时间】: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 留空的地方实现的目标。

【问题讨论】:

标签: html codeigniter validation validationerror


【解决方案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]');
...

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-08
    • 1970-01-01
    • 1970-01-01
    • 2011-02-03
    • 1970-01-01
    相关资源
    最近更新 更多