3

デフォルトでは、検証の失敗時に入力要素の下にZendバリデーターメッセージを表示したくありませんが、要件に従ってZend検証メッセージが必要です。

助言がありますか?

4

3 に答える 3

5

私は解決策を得ました。解決策はここにあります。

使っていた

<?php echo $this->formRow($form->get('username')); ?>

今、私はこれをに置き換えました

<?php echo $this->formElement($form->get('username')); ?>

そして、ビューの要件に従ってエラーメッセージを取得するために、

echo $this->formElementErrors($form->get('username')); // Errors must be capital letter

すべての回答をありがとう。

于 2013-03-26T12:31:42.057 に答える
5

申し訳ありませんが、あなたの答えはあなたの最初の質問に対する答えではありません!

あなたのタイトルは、アプリケーション全体で検証メッセージを無効にする方法の一般的な解決策を求めています。その解決策は次のとおりです。

<?php
namespace YourApp;

use Zend\Form\View\Helper\FormRow;

class Module
{
    public function getViewHelperConfig()
    {
        return array(
            'factories' => array(
                'formRow' => function($sm) {
                    $helper = new FormRow();
                    $helper->setRenderErrors(false);
                    return $helper;
                }
            ),
        );
    }
?>
于 2013-04-02T15:17:56.513 に答える
4

formCollection()まず、 -ViewHelperを使用しないでください

2番目:formRow()-ViewHelperを使用してフォームをレンダリングし、3番目のパラメーターをfalseに設定します。あなたはここでこれを見ることができます:Zend\Form\View\Helper\FormRow#157

echo $this->formRow($element, $labelPosition, $renderErrors);

$elementレンダリングするフォーム要素である必要があります。つまり、次のようになります。$this->form->get('elementName')

$labelPositionデフォルト値が必要な場合は、単にnullに設定できます

$renderErrorsエラーをレンダリングする必要があるかどうかを示すブール値です

于 2013-03-26T12:15:37.633 に答える