在 ZF 中指定的表单验证器消息中添加 css class
Add css class to the specified form validator message in ZF
是否可以像这样获取表单验证器消息标记?
<ul class="error">
<li>Error msg 1</li>
<li class="custom">Error msg 2</li>
</ul>
使用 'Error' 和 'HtmlTag' 表单装饰器我只能这样做:
<span class="custom">
<ul class="error">
<li>Error msg 1</li>
<li>Error msg 2</li>
</ul>
</span>
这是我的元素代码:
$this->addElement('text', 'domain', array(
'label' => $this->getTranslator()->_('Your domain'),
'attribs' => array(
'maxlength' => 200,
'size' => 30
),
'validators' => array(),
'filters' => array(),
'required' => TRUE,
'decorators' => array('Errors',
array('HtmlTag', array('tag' => 'span', 'class' => 'custom'))
),
));
谢谢!
默认情况下,元素错误是使用 Zend_Form_Decorator_Errors
(source) decorator and Zend_View_Helper_FormErrors
(source) 视图助手呈现的。装饰器不支持每个错误行的自定义属性。
要允许每个错误的自定义属性,您首先需要 extend/override Zend_Form_Decorator_Errors#render()
方法来检索每个错误的特定选项并将其提供给 $view->formErrors($errors, $this->getOptions());
。然后,您需要覆盖 Zend_View_Helper_FormErrors#formErrors()
以将特定属性添加到 <li>
元素。
是否可以像这样获取表单验证器消息标记?
<ul class="error">
<li>Error msg 1</li>
<li class="custom">Error msg 2</li>
</ul>
使用 'Error' 和 'HtmlTag' 表单装饰器我只能这样做:
<span class="custom">
<ul class="error">
<li>Error msg 1</li>
<li>Error msg 2</li>
</ul>
</span>
这是我的元素代码:
$this->addElement('text', 'domain', array(
'label' => $this->getTranslator()->_('Your domain'),
'attribs' => array(
'maxlength' => 200,
'size' => 30
),
'validators' => array(),
'filters' => array(),
'required' => TRUE,
'decorators' => array('Errors',
array('HtmlTag', array('tag' => 'span', 'class' => 'custom'))
),
));
谢谢!
默认情况下,元素错误是使用 Zend_Form_Decorator_Errors
(source) decorator and Zend_View_Helper_FormErrors
(source) 视图助手呈现的。装饰器不支持每个错误行的自定义属性。
要允许每个错误的自定义属性,您首先需要 extend/override Zend_Form_Decorator_Errors#render()
方法来检索每个错误的特定选项并将其提供给 $view->formErrors($errors, $this->getOptions());
。然后,您需要覆盖 Zend_View_Helper_FormErrors#formErrors()
以将特定属性添加到 <li>
元素。