私は Zend Framework 1.62 を使用しています (ZF1.62 をサポートするのに十分な PHP バージョンがない Red Hat インスタンスに完成品をデプロイするため)。
Zend Form を使用してフォームを作成する場合、select 要素を追加し、複数のオプションを追加します。Zend フォームをオブジェクト内検証レイヤーとして使用し、オブジェクト値を渡し、isValid メソッドを使用してすべての値が通常のパラメーター内にあるかどうかを判断します。
Zend_Form_Element_Select は期待どおりに機能し、追加した複数選択オプション以外の値が入力された場合は無効と表示されます。
問題は、ある時点でフォームを表示したいときに発生します.ZFによって自動的に追加された事前登録済みの「InArray」バリデーターによって作成されたエラーメッセージを編集できません。この動作を無効にできることはわかっていますが、エラー メッセージ以外はうまく機能します。私は次のことを試しました:
$this->getElement('country')->getValidator('InArray')->setMessage('The country is not in the approved lists of countries');
// Doesn't work at all.
$this->getElement('country')->setErrorMessage('The country is not in the approved lists of countries');
// アプリケーション内の別の場所で競合が発生し、エラー メッセージをきめ細かく制御できません。
誰にもアイデアはありますか?
ベン