2016-05-31 18 views
0

このようなフォームバリデータメッセージマークアップを取得することは可能ですか?私はこのように行うことができます 'エラー' と 'とHtmlTag' 形式のデコレータでZFの指定されたフォームバリデータメッセージにCSSクラスを追加

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

:ここ

<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());にフィードする必要があります。次に、特定の属性を<li>要素に追加するには、Zend_View_Helper_FormErrors#formErrors()を上書きする必要があります。

関連する問題