2016-05-31 24 views
0

是否可以獲取表單驗證器消息標記?將css類添加到ZF中的指定表單驗證器消息中

<ul class="error"> 
    <li>Error msg 1</li> 
    <li class="custom">Error msg 2</li> 
</ul> 

隨着 '錯誤' 和 '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')) 
    ), 
)); 

謝謝!

回答

0

元素錯誤默認使用Zend_Form_Decorator_Errorssource)裝飾器和Zend_View_Helper_FormErrorssource)查看幫助器呈現。裝飾器不支持每個錯誤行的自定義屬性。

要允許每個錯誤的自定義屬性,您首先需要擴展/覆蓋Zend_Form_Decorator_Errors#render()方法來檢索每個錯誤的特定選項並將其提供給$view->formErrors($errors, $this->getOptions());。然後您需要重寫Zend_View_Helper_FormErrors#formErrors()以將特定屬性添加到<li>元素。

相關問題