Zend_form设置必需的描述

时间:2013-03-29 19:38:33

标签: zend-framework zend-form zend-form-element

我有一个Zend_From的表单,默认情况下我的表单由DL,DT和DD标签包装,这很好!

我必须在必填字段中添加*&lt; - 此符号。首先,我决定将此标志明确添加到每个表单元素,但之后我无法在其中包含HTML标记,以便例如我得到<label>My Form Label:<span> *</span></label>以便我可以使*&lt; - 这个颜色的标志红色。

现在我找到了另一个解决方案:

$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包装器。然后看起来很糟糕

你能告诉我如何在不破坏DL的情况下将Decorator添加到标签中吗?

1 个答案:

答案 0 :(得分:2)

我发现使用CSS执行此操作非常简单。

dt label.required:before {
    content: "* ";
    color: #ff0000;
}