public function beforeValidate($event) { parent::beforeValidate($event); $valid = true; foreach ($this->getDateTimes() as $dateTimeForm) { $valid = $dateTimeForm->validate() && $valid; if (!$dateTimeForm->hasErrors()) { $this->owner->{$dateTimeForm->dateTimeAttribute} = $dateTimeForm->getTimestamp(); } else { foreach ($dateTimeForm->getErrors() as $attribute => $errors) { $event->sender->addErrors(array($dateTimeForm->dateTimeAttribute => $errors)); } } } $event->isValid = $valid; }