Php Zend Form:如何在元素';标签是什么?

Php Zend Form:如何在元素';标签是什么?,php,zend-form,Php,Zend Form,我可以将错误显示在表单元素之后,但不能直接显示在表单元素的标签标签之后。有人知道我怎么做吗??提前谢谢!干杯。我非常确定,您可以通过更改用于呈现表单元素的装饰器来实现这一点 检查这里 本文将指导您为元素创建备用装饰器 这里还有Zend关于标准装饰师的文章 如果要在元素及其标签之间放置元素错误,保留标准的dt/dd标记,请使用类似以下内容 $element->setDecorators(array( 'ViewHelper', array('Errors', array('p

我可以将错误显示在表单元素之后,但不能直接显示在表单元素的标签标签之后。有人知道我怎么做吗??提前谢谢!干杯。

我非常确定,您可以通过更改用于呈现表单元素的装饰器来实现这一点

检查这里

本文将指导您为元素创建备用装饰器

这里还有Zend关于标准装饰师的文章


如果要在元素及其标签之间放置元素错误,保留标准的dt/dd标记,请使用类似以下内容

$element->setDecorators(array(
    'ViewHelper',
    array('Errors', array('placement' => 'prepend')),
    array('HtmlTag', array('tag' => 'dd')),
    array('Label', array('tag' => 'dt'))
));

重要的部分是错误装饰器上的
'placement'=>'prepend'

您的意思是要显示标签和元素之间的错误吗?谢谢您的回复,Phil。我希望在标签后显示错误,但在定义术语标记内。Phil,设置这些装饰符以应用于所有表单的最佳方法是什么?我应该用你的代码扩展Zend_Form::addElement()函数吗?@blacktie24你可以使用
Zend_Form::setElementDecorators()
来设置所有的元素decorators,但是这可能不适合。另一个建议,虽然相当冗长,但不仅要扩展
Zend_Form
,还要扩展所有元素。例如,Phil,我只能让它如下呈现:Email:Value是必需的,不能为空。我正试图让错误消息位于definition term标记内。这可能吗?@blacktie24使用我答案中的确切代码,错误在
中。你是说你想把它们放在
里面吗?是的,我就是这么问的,真的很抱歉这个问题不够清晰。然而,我仔细查看了代码,如果不扩展错误和标签装饰器,这似乎是不可能的,对吗?这就是装饰器模式的威力。在表单标记等示例中非常方便。