0

我怎么能这样做?

在具体操作中,我只想验证 1 个字段。在另一个,3个字段等。但不仅仅是在创建/更新中,例如:

我有一个搜索表单,带有一些过滤器,并且需要验证用户是否填写了所有字段(不是在 javascript 中)。


细节

CakePHP: 2.3
MySQL: 5.1
阿帕奇: 2.2
PHP: 5.3.9

4

2 回答 2

1

您必须Model->validates()使用要验证的字段数组手动运行。然后运行 ​​->save() 而不进行验证检查。

$this->ModelName->set($this->request->data);
if ($this->ModelName->validates(array('fieldList' => array('email', 'password')))) {
      $this->ModelName->save($this->request->data, false); //false = no validation checking
}

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

于 2013-02-20T23:59:10.190 回答
1

这是一个基于动作切换验证规则的奇特解决方案。

于 2013-02-21T08:11:14.247 回答