CakePHP 2.3中特定操作的特定验证

时间:2013-02-20 20:52:01

标签: php cakephp

我怎么能这样做?

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

我有一个搜索表单,有一些过滤器,如果用户填写了所有字段(不是javascript),则需要验证。


详细

CakePHP: 2.3
MySQL: 5.1
Apache: 2.2
PHP: 5.3.9

2 个答案:

答案 0 :(得分: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

答案 1 :(得分:1)

Here's一个基于行动切换验证规则的奇特解决方案。