カスタム JSR 303 バリデーターを作成する場合、フィールド名の代わりにフィールドの値をバリデーターに渡す方法はありますか?
これが私がやっていることです..
このケースを検証するカスタム クラス レベルの検証を構築する必要があります。
A と B の 2 つのフィールドがあり、B は日付フィールドです。A の値が 1 の場合、B が null ではなく、その値が将来の日付であることを確認します。
この投稿に続いて、これらの要件で検証を構築することができました。FutureDateValidator の isValid() メソッドで、A の値が 1 かどうかを確認してから、日付の有効性を確認しました。
@CustomFutureDate(first = "dateOption", second = "date", message = "これは将来の日付でなければなりません。")
これで、フィールド C と D の新しいセットができました。ここで、D は再び日付フィールドです。今回は、C の値が 2 の場合、D が将来の日付であることを確認する必要があります。この場合、最初のフィールドの値がハードコーディングされているため、既に実装したバリデーターを使用できません。では、この問題を解決して、これら 2 つのケースで同じバリデーターを再利用するにはどうすればよいでしょうか。