我注意到,所有内置约束validatedBy中的@Constraint参数都有一个空值。即@Constraint(validatedBy = {})
首先,为什么允许它们的validatedBy为空值?我以为您只能将其保留为空白,而无需附加验证?

另外,请注意,尽管validatedBy为空,但是Hibernate Validator仍然可以为每个内置约束找到一个 validator 实现类,但是如果我为约束保留validatedBy为空白,那么我的自定义 validator 将永远不会被使用。这是为什么?

谢谢。

最佳答案

那些内置程序以特定于实现的特殊方式处理,并且其 validator 以编程方式进行配置。

对于Hibernate Validator,它是在 ConstraintHelper.java 中完成的。我认为您无法针对自定义约束实现相同的目标。

10-06 10:18