Hibernate Validator 版本 4.0.0 Alpha3 现已可用。此实现基于 JSR 303 规范 1.0.CR1[1]。发行包包含您启动所需的一切。
正如上一次博客中承诺的,隐式分组现在可用。在此基础上,元数据API现在与当前规范保持同步,并有一个JPA 2感知的 TraversableResolver。 @Valid 现在支持 Iterable,级联算法遵循新的图导航规则。在之前的版本中,对象实例只会针对每个组进行一次验证。现在这个实例可以在每个组和验证路径上进行一次验证。让我们看一下下面的对象图来展示这种变化
假设在 Address.addressLine 上有一个 @NotNull 约束,现在验证默认组中的 Order 实例将产生三个不同的 ConstraintViolation,它们仅在属性路径上有所不同。路径如下
- shippingAddress.addressline1
- customer.addresses[0].addressline1
- billingAddress.inhabitant.addresses[0].addressline1
在之前的版本中,只会返回一个 ConstraintViolation,并且未定义它将包含哪个属性路径。最后但并非最不重要的是,ConstraintValidator 解决算法得到了改进,现在支持泛型。这允许支持诸如
@MyConstraint Collection<? extends Number> element;
有关此版本的更多信息,请参阅Jira 变更日志,并请给我们提供一些反馈。
享受吧!