在Cake 3.x中向控制器添加验证

时间:2016-04-11 14:00:25

标签: cakephp cakephp-3.x

在CakePHP 3.x中,在控制器中添加验证规则是否可以接受?

我已阅读http://book.cakephp.org/3.0/en/core-libraries/validation.html但实际上并没有说 你(可以/应该)添加你的方法。

我知道通常这些都在src / Model / Table / ModelName.php中。但是,我正在尝试验证一个与特定数据库表无关的表单,并且不需要相应的模型。

我熟悉Cake 2.x,我通常会在控制器中执行此操作,或者可能使用$ useTable = false添加模型。但在这种情况下,最简单的方法似乎直接在控制器中添加规则,但我不确定这是不好的做法。如果规则没有进入控制器应该放在哪里?

上下文 - 这是用户正在进行搜索的表单。它需要一些输入,我正在尝试验证3个字段:电子邮件,数量和邮政编码。 Cake的验证器有内置的功能来完成前两个,但在邮政编码的情况下,我需要添加自定义方法。

任何建议表示赞赏。

1 个答案:

答案 0 :(得分:0)

  

在CakePHP 3.x中,在控制器中添加验证规则是否可以接受?

技术上可行,但我认为它是不良做法

  

我知道通常这些都在src / Model / Table / ModelName.php中。但是,我尝试验证与特定数据库表无关的表单,并且不需要相应的模型。

有一个名为"Modelless Forms" in the book的部分涵盖了该用例。