我想用Cakephp模型验证来验证字段,而不保存数据,我在控制器中使用以下代码.
$this->Model->set($this->data);
if ($this->Model->validates()) {
......
}
Run Code Online (Sandbox Code Playgroud)
但在这里,我想只验证一些特定的字段,如'email_field'和其中一个规则'email'.在模型中,我已经为'email_field'指定了一些其他规则,如'unique'和'notempty',但我不想验证这些规则.
如何实现?
以上内容肯定会有效,但是当cake已经记录了如何验证模型的特定字段时,它不是一个优雅的解决方案.
if ($this->Model->validates(array('fieldList' => array('field1', 'field2')))) {
// valid
} else {
// invalid
}
Run Code Online (Sandbox Code Playgroud)
你有不同的选择
你可以动态取消其他规则:
unset($this->Model->validate['field']['someRuleName']);
Run Code Online (Sandbox Code Playgroud)
或者您可以为此字段分配一个全新的规则集
或者您可以使用不同的"不存在"字段进行此验证,例如具有特殊规则的"some_other_field".
归档时间: |
|
查看次数: |
3915 次 |
最近记录: |