使用Codeigniter 2验证表单中的数组字段

时间:2015-03-02 09:47:55

标签: codeigniter codeigniter-2

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

以下是示例(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'
        )

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

提前多多感谢, 迈克尔

1 个答案:

答案 0 :(得分:0)

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

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