Search code examples
validationmodeldoctrinebehaviordoctrine-1.2

Doctrine 1.2: Adding validation method to record template


In a Doctrine Record object, I can add the following method to validate data:

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');
    }
}

How do I add similar code to an attached Template object?


Solution

  • I tried also, but it looks like it can't be done in behaviour class. To avoid that, in preValidate method I placed code that would check that additional columns.

    I would recommend you to not change validate() method, but to use preValidate($event) and postValidate($event) public methods. It should look like:

    public function preValidate(Doctrine_Event $event)
    {
       ... your custom validation logic...
       parent::preValidate($event) ;
    }