我正在使用Codeigniter 4并尝试验证我的表单,但我被卡住了
我的控制器代码:
public function create_project()
{
$validation = ConfigServices::validation();
//* Setting validation rules
$validation->setRules([
'project_name' => ['label' => 'Project Name', 'rules' => 'required'],
'description' => ['label' => 'Comments', 'rules' => 'required']
]);
if($validation->getErrors())
{
echo "We have errors";
}
else
{
echo "No errors";
}
}
当我将项目名称字段和描述字段留空时,此代码返回NO错误,这意味着布尔值为false,我只是不明白?
https://codeigniter4.github.io/userguide/libraries/validation.html
请参阅上面的链接。
$validation->withRequest($this->request)
->run();
您尚未运行验证。
您的方法的问题是您已经设置了规则,但没有进行验证。为了进行验证,您需要使用validate((方法
$validation = ConfigServices::validation();
//* Setting validation rules
$validation->setRules([
'project_name' => ['label' => 'Project Name', 'rules' => 'required'],
'description' => ['label' => 'Comments', 'rules' => 'required']
]);
// This is where validation will start
if (!$this->validate([])) {
echo "We have errors";
var_dump($validation->getErrors());
}else {
echo 'Passed'
}
我希望这能回答你的问题。
当你使用codeigner4 编码时,给你一个提示
模型已进行验证控制器已启用验证使用这些比激活验证库并尝试使用它要简单得多。