Kohana 3.2 ORM验证和表格验证

时间:2012-06-25 12:02:52

标签: php kohana kohana-3.2

从去年开始,我在Kohan 3.0.7开展维护项目。当我期待最新版本(3.2)时,我遇到了ORM验证,我在使用Kohana 3.0.7时没有注意到。在我的项目中,我使用了表单验证并验证了模型中的所有表单。在阅读http://kohanaframework.org/3.2/guide/orm/examples/validation时,我发现在控制器本身中添加了额外字段“确认密码”的验证规则。所以,我想知道 -

我们可以将ORM验证规则完全移到模型文件中吗?如果我们能够如何做到这一点?

方法是否负责sql注入?

1 个答案:

答案 0 :(得分:1)

您不能也不应该将模型验证移动到控制器 在您提供的示例中,他们使用了所谓的“额外验证” 看看保存method API - 它采用Validation方法稍后在check方法中使用的可选rules参数来验证其他逻辑(例如密码匹配)。
原因是您的模型中没有名为“password_matching”的字段(那么您可以在Query Builder函数;)中编写此规则,因此您需要对此类情况使用外部验证。 /> 使用外部验证的另一个示例是上传文件,并根据上传结果对您的ORM模型执行操作。

是的,ORM是SQL注入安全的,因为它使用DB::expr也是安全的({{1}}除外,应该特别小心使用)。