codeigniter表单验证数组不是表单提交

时间:2015-06-26 07:20:25

标签: php codeigniter-2 codeigniter-form-helper codeigniter

我想验证我的表单输入字段,或者你想说我有一个数组,我想用codeigniter验证该数组

示例: 我有像这样的数组:

$array['obj_type']='sample';
$array['obj_id']='44';
$array['user_id']='34566';

和我的表单验证配置如下:

'validatedata' =>  array(
      array(
            'field' => 'obj_type',
            'label' => 'No Type Define here',
            'rules' => 'required'
        ),  
        array(
            'field' => 'obj_id',
            'label' => 'No any item selected here',
            'rules' => 'required|is_natural_no_zero'
        ),
        array(
            'field' => 'user_id',
            'label' => 'No user logged in',
            'rules' => 'required|is_natural_no_zero'
        ),
    ),

当我使用表格验证其不验证数组

if ($this->form_validation->run('validatedata')) {
} else {
echo validation_errors();
}

打印所有在validatedata配置数组上定义的错误;

3 个答案:

答案 0 :(得分:1)

我只是用

$this->form_validation->set_data($array);

然后我验证表格

if ($this->form_validation->run('validatedata')) {
echo "sucess";
} else {
echo validation_errors();
}

现在它的工作正常而且很好。

答案 1 :(得分:0)

您必须在控制器中加载表单验证库..

ScrollView

答案 2 :(得分:0)

您必须向form_validation库提供数据:

$this->form_validation->set_data($array);

然后你可以使用

$this->form_validation->run('validatedata')

按预期。

如果要验证多个数组,则必须在验证每个数组后调用reset_validation()

检查system / libraries / Form_validation.php(大约255行,具体取决于您的CI版本)以获取更多信息。