2010-10-17 2 views
1

В объекте Doctrine записи, я могу добавить следующий метод для проверки данных:Doctrine 1.2: Добавление метода проверки запись шаблона

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

Как добавить подобный код подключенного объект шаблона?

+0

Не понимаю. Можете ли вы предоставить дополнительную информацию о том, что вы хотите сделать? – Timo

+0

@Timo, Doctrine имеет поведение. Используя поведение, я могу назначить функциональность для нескольких моделей. Как включить проверку в поведение? Пожалуйста, дайте мне знать, если вы все еще не понимаете. Кроме того, пожалуйста, будьте более конкретными относительно той части, которую вы не понимаете. – mattalxndr

ответ

1

Я также попробовал, но похоже, что это невозможно сделать в классе поведения. Чтобы этого избежать, в методе preValidate я разместил код, который будет проверять наличие дополнительных столбцов.

Я бы порекомендовал вам не изменять метод validate(), а использовать общедоступные методы preValidate ($ event) и postValidate ($ event). Он должен выглядеть так:

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

Я обязательно проверю это, спасибо! Думал, что этот вопрос останется без ответа. – mattalxndr

Смежные вопросы