20

validatedByすべての組み込み制約で、 のパラメーターの値が空のことに気付きました@Constraint。すなわち@Constraint(validatedBy = {})

まず、なぜ空の値を持つことが許可されているのvalidatedByですか? 追加の検証を必要としない制約合成の場合のみ、空白のままにできると思いましたか?

また、Hibernate Validator は組み込み制約ごとにバリデーター実装クラスを見つけることができますが、validatedByそれが空であるにもかかわらず、制約の validatedBy を空白のままにしておくと、カスタムバリデーターが取得されないことに注意してください。何故ですか?

ありがとう。

4

3 に答える 3

12

これらの組み込みは特別な実装固有の方法で処理され、それらのバリデーターはプログラムで構成されます。

Hibernate Validator の場合、ConstraintHelper.java. カスタム制約に対して同じことを達成することはできないと思います。

于 2010-12-22T19:33:57.540 に答える
5

多分この答えを見てください:

@Constraint validatedBy によるレイヤー間の相互依存を回避するにはどうすればよいですか?

そして、これらの 2 つのリンク:

プログラムによる制約の追加: http://docs.jboss.org/hibernate/stable/validator/reference/en-US/html/validator-specifics.html#section-programmatic-api

xml ごとの制約の追加: http://docs.jboss.org/hibernate/validator/4.1/reference/en-US/html/validator-xmlconfiguration.html

于 2013-06-06T02:38:23.007 に答える