我注意到所有内置约束都为validatedBy
中的@Constraint
参数设置了空值。即@Constraint(validatedBy = {})
首先,为什么允许validatedBy
为空值?我认为你可以把它留空只用于不需要附加验证的约束组合吗?
另外,请注意Hibernate Validator仍然可以为每个内置约束找到一个验证器实现类,尽管validatedBy
为空,但是如果我将validatedBy留给我的约束,我的自定义验证器永远不会得到已接。那是为什么?
感谢。
答案 0 :(得分:9)
这些内置版本以特定的特定于实现的方式处理,并且它们的验证器以编程方式配置。
对于Hibernate Validator,它在ConstraintHelper.java
中完成。我认为你的自定义约束不能达到同样的效果。
答案 1 :(得分:5)