【问题标题】:Using validationRules in Models to validate form Codeigniter 4在模型中使用验证规则来验证表单 Codeigniter 4
【发布时间】:2021-05-13 23:23:10
【问题描述】:

所以我有这些变量$skipValidation(专门设置为FALSE),$validationRules$validationMessages根据this documentation设置

但是对于我的生活,我无法弄清楚是什么触发了这个 $validationRules 运行,我只是假设 $skipValidation 意味着 Codeigniter-4 已经让我覆盖(在执行任何查询之前自动验证输入)..

我什至输入了$UserModel->errors(),以防验证规则发现错误

if($userModel->insert($data) === false) {
  return view('form', ['validation' => $userModel->errors()])
} else {
  redirect()->to('home');
}

我将这些规则 required and min_length[] 应用于 $validationRules 但模型只是跳过了验证规则并立即将其插入到数据库渲染中 $validationRules 无用..

任何想法如何让模型中的验证规则工作?或者它应该如何使用?我一直在文档中循环,因为我不知道更好。

【问题讨论】:

  • 将代码更改为 $userModel->insert($data) === false 为 $userModel->save($data) === false。这应该会引发错误。
  • 谢谢您的回复,不,仍然跳过验证.. 我假设它是一个未解决的错误,因为我得到了 mysqli 异常,而不是使用 $userModel->errors 安全地将错误消息返回到变量中()

标签: model-view-controller model controller codeigniter-4


【解决方案1】:

愚蠢的我,我一直试图弄清楚代码有什么问题,而这只是一个简单的问题。我有两个文件名相同的模型(备份项目),我盲目地编辑里面的模型文件备份项目..

也许对于未来寻求答案的读者来说,别忘了检查你的模型文件的文件夹路径,你可能会犯和我一样的错误。

【讨论】:

    猜你喜欢
    • 2020-06-07
    • 1970-01-01
    • 1970-01-01
    • 2015-04-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多