在我使用 Zend Framework 构建的一个 Web 项目中,我有一个具有以下结构的表单:
<form>
<fieldset>
<h2>Header</h2>
<ul>
<li>
<label />
<div>
<input />
<small>Helptext</small>
</div>
</li>
<li class="error"> <!-- This one has errors -->
<label />
<div>
<input />
<ul class="errors">
<li>Error message</li>
</ul>
<small>Helptext</small>
</div>
</li>
</ul>
</fieldset>
</form>
我可以使用 Zend 框架的标准装饰器来构建这个结构,除了一件事。我需要能够在error
具有验证错误等的元素的 li 上添加类。我使用以下验证器:
- 视图助手
- 错误
- html标签 (
'tag' => 'small', 'placement' => 'append'
) - html标签 (
'tag' => 'div'
) - 标签
- html标签 (
'tag' => 'li'
)
默认验证器被禁用。(我$element->setDecorators()
在init()
扩展 Zend_Form 的自定义表单类的方法中使用。)所以我的问题归结为当元素上有任何验证错误时将类“错误”添加到最后一个装饰器。
有人知道这样做的方便方法吗?我想我可以覆盖元素的默认渲染方法以检查是否存在任何验证错误,然后将类选项添加到命名装饰器,但这并不是很优雅。我想知道是否有一些标准化的方法可以做到这一点......顺便说一下,我正在使用 Zend Framework 1.11。
干杯,埃里克
Tl;博士:
当出现验证错误时,如何在 Zend_Form_Element 上的 HtmlTag 装饰器中添加类选项?