1

Zend_Form のデフォルトのエラー メッセージは次のようになります。

<ul class="errors">
    <li>Please enter your email !</li>
</ul>

私はこのように再レンダリングしたい:

<div class="errors">Please enter your email !</div>

ありがとう

4

2 に答える 2

0

詳細な回答は提供していませんが、間違いなく役立ちます....フォームヘルパーでこのように試してください

// Email
$email = $this->createElement('text', 'email');
$email->setRequired(true)
->setLabel('Email *')
->addFilters(array('StringTrim'))
->setAttribs(array('class' => 'input-text'))
->addValidator('EmailAddress')
->addValidator('NotEmpty', true)
->clearDecorators()
->addDecorator('Label', array('escape' => false))
->addDecorator('ViewHelper')
->addDecorator('Errors')
->addDecorator(array('data'=>'HtmlTag'),
  array('tag' => 'div', 'class' => 'group'));
$email->getValidator('EmailAddress')
    ->setMessage('invalid email', 'emailAddressInvalidFormat');
$email->getValidator('NotEmpty')
    ->setMessage('enter email', 'isEmpty');

これは、div のメール検証のカスタム エラー メッセージです。

于 2013-02-19T04:27:48.837 に答える
0

elementStart関連する,elementEndおよびelementSeparatorオプションをErrorsデコレータ ビュー ヘルパーに渡すだけです。例えば

$element->addDecorator('Errors', array(
    'elementStart'     => '<div%s>',
    'elementSeparator' => '<br>',
    'elementEnd'       => '</div>'
));

複数のエラー メッセージをどのように区切りたいかはまだ述べていません。上記を使用して改行を想定しました<br>

于 2013-02-19T04:37:12.540 に答える