Zend_form set Необходимо описание

Имам формуляр със Zend_From и моята форма по подразбиране е обвита от DL, DT и DD тагове и това е добре!

Трябва да добавя * ‹-- този знак към задължителните полета. Първо реших да добавя изрично този знак към всеки елемент от формуляра, но след това не можах да включа HTML тагове в него, така че например да получа <label>My Form Label:<span> *</span></label>, за да мога да направя * ‹-- този знак с червен цвят.

Сега намерих друго решение:

$elementDecorators = array(
            'ViewHelper',
            array('Label', array('tag' => 'span', 'escape' => false, 'requiredSuffix' => '<span class="required">* </span>'))
        );

и за всяка форма:

$myElement->setDecorators($elementDecorators);  

и след това опитах друг подход:

$myElement->getDecorator('label')
          ->setOptions(array('requiredSuffix'=> ' <span class="required">*</span> ', 'escape'=> false));

Проблемът е, че след като приложа този код към моя елемент на формуляр, той губи DL, DT, DD обвивки. и след това изглежда ужасно.

Можете ли да ми кажете как да добавя Decorator към етикета, без да унищожа DL нещо?


person mrGott    schedule 29.03.2013    source източник


Отговори (1)


Намирам за много лесно да направя това с CSS.

dt label.required:before {
    content: "* ";
    color: #ff0000;
}
person RockyFord    schedule 30.03.2013