我有一个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添加到标签中吗?
答案 0 :(得分:2)
我发现使用CSS执行此操作非常简单。
dt label.required:before {
content: "* ";
color: #ff0000;
}