/** * Overrides parent implementation by rendering TValidationSummary-specific presentation. * @return string the rendering result */ public function render() { $group = $this->getGroup(); $active = TValidatorGroup::isGroupValidation() ? false : true; if (!empty($group)) { $active = $this->getParent()->findObject($group)->isActive(); } $this->renderJsSummary($this->getJsOptions()); $content = ""; if ($this->isEnabled() && $active && !$this->Page->isValid() && $this->isShowSummary()) { $this->setStyle('display:block'); $messages = $this->getMessages(); $headerText = $this->getHeaderText(); switch ($this->getDisplayMode()) { case 'List': $content = $this->renderList($messages, $headerText); break; case 'SingleParagraph': $content = $this->renderSingleParagraph($messages, $headerText); break; case 'BulletList': default: $content = $this->renderBulletList($messages, $headerText); } } return "<div {$this->renderAttributes()}>{$content}</div>"; }
/** * This overrides the parent implementation by doing the group validation. * @see TValidatorGroup::validateGroup() * Parent::OnLoad($params) is called. * @param TEventParameter event parameter to be passed to the event * handlers */ protected function onLoad($params) { $parent = $this->getParent(); $sender = $this->getPage()->getPostBackTarget(); foreach ($this->events as $controlID => $event) { $control = $parent->findObject($controlID); if (!is_null($control) && $sender === $control) { $this->validateGroup($sender, $params); $this->active = true; self::$groupValidation = true; } } parent::onLoad($params); }