Codeigniter验证始终返回false,但validation_errors()为空

时间:2018-07-25 08:11:22

标签: validation codeigniter-3 my-model-jami

我正在使用https://github.com/jamierumbelow/codeigniter-base-model存储库中的MY_Model。它使用了Codeigniter内置的验证库。

问题是验证在我的模型中总是失败。但validation_error()为空。 这是我的规则:

protected $validate = [
    [
        'field' => 'text',
        'label' => 'text',
        'rules' => 'required',
    ]
];

这是我的控制器代码:

$fields = [
    'title'=>'test title',
    'text' => 'message text',
    'user_id_from' => '1',
    'user_id_to' => '1'
];

$this->message_model->insert($fields);

这是它在库中的用法:

$this->form_validation->set_rules($this->validate);

if ($this->form_validation->run() === TRUE)
{
    return $data;
}
else
{
    $this->validation_error = validation_errors();
    return FALSE;
}

$ this-> validation_error始终为空,并且验证始终失败

1 个答案:

答案 0 :(得分:-1)

MY_Model库中有一个错误。

当数据源类型不是“ post”时,将跳过验证。 要启用使用“ get”的库,请将此行添加到库中,位于set_rules方法之前:

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

在这里说明: https://www.codeigniter.com/userguide3/libraries/form_validation.html#validating-an-array-other-than-post