メールアドレスを取得するためのフォーム要素があります。要素で使用Zend_Validate_EmailAddress
していますが、あまりユーザーフレンドリーではないエラーメッセージが生成されます。
私の最初のステップは、よりユーザーフレンドリーな新しいメッセージを指定することでしたが、チェックの中には、ユーザーフレンドリーなメッセージに適していないものもあります。isValid()
次に、フォームで実行して自分のメッセージを指定した後、これらのメッセージを単純にクリアしようとしましたが、見つかった関数のいずれもメッセージをクリアしません。
私が試したことと結果
setErrorMessages()
-ここで設定した値は完全に無視されているようですclearErrorMessages()
-無視されているようですsetErrors()
-私のメッセージを追加しますが、他のメッセージはそのまま残します
これは、カスタムビュースクリプトにエラーを表示するコードです。
<?php if ($this->element->hasErrors()): ?>
<?php echo $this->formErrors($this->element->getMessages()); ?>
<?php endif; ?>
私の解決策
彼の解決策が最も完全であるため、私はゴードンに答えを与えていますが、私は次のようなaddErrorMessage()
要素で関数を使用することになりました:
$element->addValidator('EmailAddress', false, $this->_validate['EmailAddress'])
->addErrorMessage("'%value%' is not a valid email address");
$element->addValidator('Date', false, array('MM/dd/yyyy'))
->addErrorMessage("Date must be in MM/DD/YYYY format");