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