Zend Form: как автоматически установить класс элемента в обязательный, если для обязательного параметра установлено значение true? - PullRequest
0 голосов
/ 22 июля 2011

Возможно ли это? Я пытаюсь использовать плагин jQuery Validation от jorn, и я хотел бы избежать добавления 'class' => 'required', если я уже устанавливаю параметр required => true. Спасибо заранее за любой вклад!

1 Ответ

2 голосов
/ 22 июля 2011

Невозможно при использовании стандартных классов ZF.Вы можете сделать это, создав собственный декоратор для замены стандартного ViewHelper.

 class My_Form_Decorator_ViewHelper extends Zend_Form_Decorator_ViewHelper 
 { 
     public function render($content) 
     {
         $element = $this->getElement();
         if ($element->isRequired()) {
             $class  = $element->getAttrib('class'); // append to current attrib
             $element->setAttrib('class', $class . ' required');
         }
         return parent::render($content);
     }
 }

Конечно, вы также можете добавить префикс пути к этому декоратору в вашей форме.

...