5

複数のバリデーターがアタッチされているフォーム要素(この例では3)があるaddErrorMessage場合、一意のバリデーターが失敗するたびにカスタムエラーメッセージを作成するにはどうすればよいですか。バリデーターごとにカスタムメッセージを追加する方法はありますか?

$element = new Zend_Form_Element_Text()...
$element->....
        ->addValidator(...)
        ->addValidator(...)
        ->addValidator(...)
        ->addErrorMessage()
4

4 に答える 4

11

通常、これはバリデーターごとではなく、バリデーターエラーメッセージごとに行われます。

$element->setErrorMessages(array(Zend_Validate_...::CONSTANT => 'New Message'));

しかし、私は多くの場合、要素のすべてのエラーを1つにオーバーライドすることを好みます

$element->setErrorMessages(array('Single Error'));

または、バリデーターごとに必要な場合、これは機能します...

$validator->setMessages('string error')

すべてのバリデーターのエラーを単一のメッセージにオーバーライドする必要があります。私はこれがどこにも文書化されているのを見つけることができませんでしたが、それは私にとってはうまくいきます。このため、すべてのバージョンで機能するとは限りませんか?

私にとって、考えられるすべてのエラーメッセージを上書きしたい場合を除いて、エラーメッセージの処理は少し面倒ですが、うまくいけば、これらの解決策の1つがうまく機能します。

乾杯

于 2010-10-02T17:38:59.133 に答える
6

以下のように、バリデーターと一緒にメッセージを追加します。例:

->addValidator('StringLength', false, array(0,255,'messages'=>'Cannot be more than 255 chars'))

->addValidator('NotEmpty', true, array('messages'=>'Cannot be empty'))
于 2011-12-16T19:07:40.987 に答える
2

このようにメッセージを追加します

-> addValidator('Alpha'、true、array('messages' => array('notAlpha' => "製品名にのみアルファベット文字を入力してください。
")));

エラー文字列に従ってバリデーターメッセージを追加します

于 2013-02-13T07:03:55.437 に答える
0

addErrorMessage('カスタムメッセージ'); カスタムメッセージを印刷する最も簡単な方法でもあります。

addErrorMessageは、libraray / zend / Form/Elements.php内で定義されています

それが役に立てば幸い!!

于 2013-12-24T09:57:51.600 に答える