0
私は選択した国に応じてcountryとcityの2つの選択ボックスを持つフォームを持っています。 Ajaxを使用して国を選択すると、都市フィールドが動的に設定されます。Zend Form:依存フィールド検証
これまでのところ、都市選択ボックスにisValid()
をオーバーライドして$context
引数を使用して、選択した国を取得し、その都市が有効かどうかを確認します。
国の妥当性検査が失敗した場合、市の妥当性検査をスキップします。たとえば、誰かが国のフィールドに不正な値を注入することができます(国の検証は失敗します)。私の市の検証は行われず、dbのクエリは実行されません。
どうすればこの問題を解決できますか?
この方法では、国が有効でない都市を選択するためにデータベースのクエリをスキップしません。しかし、あなたは実際に私に良いアイデアをくれました! country要素が有効な場合にのみ、city要素にデータを代入する方がよいでしょうか?大丈夫ですか? – s3v3n
私は解決策を持っています。私は実際に私の問題を解決し、後でそれを受け入れるコードを投稿するこの答えを編集します:) – s3v3n
私はまだこの答えを編集する時間がなかったので、私はこの答えを受け入れるようにチェックします。私はisValid()の部分だけを使用しました。とにかくありがとう! – s3v3n