随着5.2最终版本的发布,我们很高兴宣布Hibernate Validator 5.2.0.CR1的发布。此次发布的主要目标是修复错误并完善一些新功能。例如,我们审查了可选验证支持,并确保其行为在各种情况下(我们认为)是一致的。您可以在JIRA上找到完整的变更日志。
尽管重点是修复错误,但我们还是设法加入了一些新功能。Hibernate Validator现在提供了一个TimeProvider契约,以及Path API的扩展,允许获取表示属性的值。更多详细信息请参阅在线文档。
另一个更普遍的问题,引起了相当多的讨论,围绕Java 8日期/时间类型(JSR 310)的验证(见HV-874)。问题是,我们是否可以/应该为ConstraintValidator实现默认@Past和@Future验证LocalDate(或任何不表示时间点的其他日期/时间类型)。Java文档告诉我们
此类不存储或表示时间或时区。相反,它是对日期的描述,如用于生日。没有附加信息(如偏移量或时区)就无法表示时间线上的一个瞬间。
然而,没有具体时刻,过去和未来都是未定义的。人们只能通过将它与一个时区关联来验证这样一个时刻。但应该是哪一个时区?当前JVM的时区?这可能会在客户端-服务器应用程序中导致意外行为。如果您对此有任何看法或解决这个问题的想法,请留下评论或使用以下列出的任何其他方式与我们联系。我们很乐意听取您的意见。目前,Hibernate Validator不会支持LocalDate开箱即用。我们将看看结果如何。
我从哪里获取这个版本?
Maven工件可以在JBoss Maven仓库中找到(GAV org.hibernate:hibernate-validator:5.2.0.CR1)并在短时间内也同步到Maven Central。分发捆绑包如往常一样可在SourceForge上找到。
欢迎使用Hibernate Validator 论坛或使用hibernate-validator标签在stackoverflow上提问。
祝您玩得开心!