6

これはおそらく非常に単純な作業ですが、現在、私はひどく失敗しています。認証が失敗したときにフォームにカスタム エラーを追加したいだけです。

私が試したこと

$form->setMessages(array(
    array('password' => $this->failedLoginMessage)
));    

予期せぬ結果

\Zend\Debug\Debug::dump($form->getMessages());
array(0) {}

コードを正しく理解していれば、パスワード要素にエラー メッセージを添付する必要があります。実際に setMessages を見て、1 次元の配列をアタッチするだけで十分だと思っていましたが、2 次元も必要です :S 私はその単純なタスクに行き詰まっています :)

前もって感謝します!

4

3 に答える 3

14

あなたが要求したように、答えとしての私のコメント:

次を使用して、エラーメッセージを要素に直接設定することもできます。

$form->get('elemName')->setMessages(array('message1', 'message2', ...));
于 2012-10-16T10:13:29.077 に答える
1

簡単な解決策、コードを正しく読んでください...次のように正しい使用法:

$form->setMessages(array(
    'formElementName' => array(
         // multiple error messages possible...
    )
));
于 2012-10-15T13:49:03.233 に答える
1

このコード行を使用します。

$form->getElement('controlname')->setErrors(array('Your custom error'));

ページにメッセージが表示されない場合は、zend フォームで使用されている removeDecorator メソッドを確認してください。エラーメッセージコード行を書く前にaddDecoratorメソッドを使用する場合。

于 2015-03-25T07:28:49.373 に答える