私が念頭に置いている特定のケースは次のとおりです。 AjaxFormComponentUpdatingBehavior("onchange") がフォームの TextField に追加されます。このビヘイビアーは、メッセージを表示する(または既に表示されている場合は非表示にする) ことに基づいて、特定の条件(モデル オブジェクトまたはフォーム コンポーネント モデルのいずれかは関係ありません) についてテキストを検証します。
問題は、TextField にバリデーターが追加されていることです。可能性のある (そして可能性の高い) シナリオの 1 つは、ユーザーが最初にAJAX 要求によってメッセージを表示させる値を入力することです。その後、検証に合格しない値を入力すると、メッセージは消えるはずですが、そうではありません。
どうやら、AJAX 動作の onUpdate() メソッドがまったく呼び出されていないか、検証されていないエントリのチェックを挿入しようとして失敗しています(null 値と空の文字列の両方をテストしようとしましたが、データが無効な場合に、Wicket のバリデーターがモデルに対して正確に何を行うかはわかりません)。
バリデーター(または実際にはAJAX)を実際に理解している人が、問題がどこにあるのかについて何か考えがあるかどうか疑問に思っています。
これはバリデーターと AJAX を結びつける一般的な問題ではなく、プログラミングのミスである可能性が高いと誰かが私に言った場合、私は編集とコードを投稿できます。私はまだ前者を信じているので、API/理論的なフレームでの議論を維持するために、コード セクションの投稿は控えます。
ありがとう。