JSR 303-構成制約
-
12-10-2019 - |
質問
実行するにはどうすればよいですか ConstraintValidator
間に ConstraintValidator
?
カスタムがあります @NotEmpty
カスタムがあります ConstraintValidator
タイプごとに、正常に動作します。
次に、指定されたフィールドの少なくとも1つをチェックするクラスレベルの制約を作成したいと思います。 ConstraintValidator
私はすでに持っています。制約部分(@ClassNotEmpty
)が行われますが、問題は次のとおりです ConstraintValidator
実装。どうすれば取得できますか ConstraintValidator
特定の制約のインスタンス?すなわち
isValid(Object value, ConstraintValidatorContext constraintValidatorContext) {
String[] fieldValues = getFieldValues(value, this.classNotEmpty.fieldNames());
for (String fieldValue : fieldValues) {
<What do I put here?>.isValid(fieldValue, constraintValidatorContext);
}
}
検証ルーチンをヘルパークラスに引き上げずにこれを行う方法はありますか?
ところで、私はSpringとHibernate Validatorを使用しています。
解決
さらなる研究の後、 ConstraintValidator
特定の制約のインスタンス、ポータブルかどうか。ヘルパークラスがこれを行う唯一の方法のようです。
他のヒント
私は自分の前に情報を持っていませんが、他のバリデーターで構成されているバリデーターについて何かを読んだことを覚えています。したがって、2つのバリデーターAとBがある場合、他の2つの「C」で構成される3番目の「C」を定義できます。ドコを狩る、あなたはそれを見つけるはずです。
検索をしただけで、これを読んでください: http://docs.jboss.org/hibernate/stable/validator/reference/en-us/html/validator-customconstraints.html#validator-customconstraints-compound
それはあなたが探しているものかもしれません。