我怎么能这样做?
在具体操作中,我只想验证 1 个字段。在另一个,3个字段等。但不仅仅是在创建/更新中,例如:
我有一个搜索表单,带有一些过滤器,并且需要验证用户是否填写了所有字段(不是在 javascript 中)。
细节
CakePHP: 2.3
MySQL: 5.1
阿帕奇: 2.2
PHP: 5.3.9
您必须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
这是一个基于动作切换验证规则的奇特解决方案。