我注意到所有内置的约束对@Constraint中的validatedBy参数都有一个空值.即@Constraint(validatedBy = {})
@H_301_2@首先,为什么他们被允许为validatedBy有一个空值?我以为你可以把它留空,只能用于不需要附加验证的约束组合?
@H_301_2@另外请注意,Hibernate验证器仍然可以为每个内置约束找到一个验证器实现类,尽管validatedBy为空,但是如果我为我的约束留下validatedBy空格,那么我的自定义验证器永远都不会被拾取.这是为什么?
@H_301_2@谢谢.
解决方法
那些内置的特殊实现方式被处理,并且它们的验证器是以编程方式配置的.
@H_301_2@对于Hibernate验证器,它在
ConstraintHelper.java
中完成.我认为您的自定义约束不能达到相同的效果.