在Doctrine Record对象中,我可以添加以下方法来验证数据:
protected function validate()
{
if (empty($this->first_name) && empty($this->last_name) && empty($this->company)) {
$this->getErrorStack()->add('company', 'You must fill in at least one of the following: First Name, Last Name, Company');
}
}
如何向附加的Template对象添加类似的代码?
答案 0 :(得分:1)
我也尝试了,但看起来它无法在行为类中完成。为避免这种情况,在preValidate方法中,我放置了检查其他列的代码。
我建议您不要更改validate()方法,而是使用preValidate($ event)和postValidate($ event)公共方法。它应该看起来像:
public function preValidate(Doctrine_Event $event)
{
... your custom validation logic...
parent::preValidate($event) ;
}