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

codeigniter form validation on array not form submit

我想验证我的表单输入字段,或者您想说我有一个数组,我想使用 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();
}

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

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

$this->load->library(array('form_validation'));

您必须向 form_validation 库提供数据:

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

然后你就可以使用

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

符合预期。

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

查看 system/libraries/Form_validation.php(第 255 行左右,取决于您的 CI 版本)了解更多信息。

我刚用

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

然后我验证表单

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

现在它运行良好。