【问题标题】:Validate array fields in a form with Codeigniter 2使用 Codeigniter 2 验证表单中的数组字段
【发布时间】:2015-03-02 09:47:54
【问题描述】:

我正在寻找一个很好的解决方案来检查作为数组提交的表单字段。该字段的键已经设置,因此按照手册中的建议声明字段名似乎不起作用。

示例如下(HTML 代码):

<select name="image_status[366]" id="image_status[366]" class="form-control">
<option value="1">Status 1</option>
<option value="2">Status 2</option>
<option value="3">Status 3</option>
<option value="4" selected="selected">Status 4</option>
</select>

元素的键(这里是 366)是动态创建的,是一个数据库键。现在,如果我添加以下验证规则,Codeigniter 不会对其进行检查

array(
            'field' => 'image_status[]',
            'label' => 'Status',
            'rules' => 'required'
        )

如果我使用以下规则(除非我动态创建此规则,否则它将不起作用,这非常丑陋),验证有效

array(
            'field' => 'image_status[366]',
            'label' => 'Status',
            'rules' => 'required'
        )

有人知道如何定义验证规则,以便它适用于具有已定义索引/键的数组吗?

提前非常感谢, 迈克尔

【问题讨论】:

  • 'field' =&gt; 'image_status' 应该足够了。

标签: codeigniter codeigniter-2


【解决方案1】:

如果您要动态获取选择列表,请将其作为 for 循环。像下面这样的代码将动态创建验证

foreach ($selection_list as $key) {
            $this->form_validation->set_rules($key."[]" ,$key, "required");
             } 
        }

【讨论】:

    猜你喜欢
    • 2011-01-29
    • 1970-01-01
    • 1970-01-01
    • 2011-12-05
    • 1970-01-01
    • 2012-05-18
    • 2016-07-22
    • 2011-08-13
    • 1970-01-01
    相关资源
    最近更新 更多