1

入力を検証する新しい制約を作成したいのですが、同じ形式の他の入力の値を知る必要があります。@interface アノテーションで作成されたカスタム制約は、定数式のみをパラメーターとして受け入れることがわかりました。それを行う他の方法はありますか?

4

1 に答える 1

1

クラス レベルの制約を記述するか、前述の @ScriptAssert を使用できます。前者では、クラス レベルで制約を設定すると、インスタンス全体がisValidに渡されます。その後、好きな値を調べてチェックを行うことができます。

別の方法は、Hibernate Validator が提供する @ScriptAssert を使用することです (これもクラス レベルで、インスタンス全体がスクリプト コンテキストにバインドされます)。次に、選択したスクリプト言語 (JavaScript など) でチェックを記述できます。もちろん、スクリプト エンジンはランタイム環境で使用できる必要があります。

于 2013-03-20T10:01:06.397 に答える