0

我有一个带有 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 包装器。然后看起来很糟糕。

你能告诉我如何在不破坏 DL 东西的情况下将装饰器添加到标签吗?

4

1 回答 1

2

我发现用 CSS 做这件事很简单。

dt label.required:before {
    content: "* ";
    color: #ff0000;
}
于 2013-03-30T07:14:36.977 回答