0

我想检查控制器中的电子邮件/用户名是否唯一。我为 isUnique 编写了模型验证并且它有效。但我也想要一种在控制器中使用它的方法。就像是

$this->User->validates(array('email'=>'someemail@domain.com'));

或者

$this->User->checkunique();
//is this the right way to write a different function again.

我知道我可以使用控制器中的 findByEmail 并检查它是否返回空结果集。但我觉得有一种更简单的方法或已经可用的方式 cakephp 提供。如果我错了,请纠正我,让我指出在这种情况下的正确方法。

谢谢,基兰

4

1 回答 1

1

你已经看过烹饪书了吗?关于如何做到这一点有一个很好的解释:

http://book.cakephp.org/2.0/en/models/data-validation/validating-data-from-the-controller.html

把它们加起来。首先设置要验证的数据:

$this->User->set($data);

然后验证它并传递一个字段列表以将验证限制在必要时:

$this->User->validates(array('fieldList' => array('email')));

是否将其包装在自定义模型方法中完全取决于您,尽管从DRY的角度来看,这样做是个好主意。

于 2012-12-17T07:34:31.620 回答