我可以在CI中对同一元素使用两次验证规则

时间:2015-04-22 06:17:09

标签: codeigniter validation

我已在配置文件

中的form_validation文件中定义了所有规则
e.x

$config = array(
     'basic' => array(
        array(
            'field' => 'name',
            'label' => 'Name',
            'rules' => 'alpha'
        ),
         array(
            'field' => 'age',
            'label' => 'Age',
            'rules' => 'alpha'
        ),
          array(
            'field' => 'city',
            'label' => 'City',
            'rules' => 'alpha'
        )

     ),

      'mandate' => array(
         array(
            'field' => 'name',
            'label' => 'Name',
            'rules' => 'required'
        ),
         array(
            'field' => 'age',
            'label' => 'Age',
            'rules' => 'required'
        ),
         array(
            'field' => 'city',
            'label' => 'City',
            'rules' => 'required'
        ),

    ),
);


 $config["submitfinal"] = array_merge($config['basic'], $config['mandate']);

我一直试图实现的是有两个按钮,其中一个按钮被调用(savenow),当用户按下它时,它应该仅对非空数据进行验证而另一个按钮是(保存并完成)用户按下它,它应该验证非空和其他规则集,所以我有两个组分别定义并调用它们(savenow功能),当我尝试组合这两个组时,基本组的验证似乎不是工作

注意:我已经对两个组中的相同字段名进行了验证,您可以建议我如何进一步实施保存和完整功能。

1 个答案:

答案 0 :(得分:1)

保持它们分开意味着不需要合并它们,只需更新任务数组

'mandate' => array(
         array(
            'field' => 'name',
            'label' => 'Name',
            'rules' => 'required|alpha'
        ),
         array(
            'field' => 'age',
            'label' => 'Age',
            'rules' => 'required|alpha'
        ),
         array(
            'field' => 'city',
            'label' => 'City',
            'rules' => 'required|alpha'
        ),

    ),

然后只需在点击功能上调用一个特定的组。