Hibernate Validator 4.2.0 Beta1发布 实现方法级别的校验

用Annotations 给类或者类的属性加上约束(constraint),在运行期检查属性值是很优雅的.Hibernate Validator就是这样的一个框架.该框架是十分容易的(就像参考文档中宣称的那样),几乎没有什么学习曲线,Validator 是一个验证框架不需要和Hibernate的其他部分绑定就可以使用,只要在你的项目中添加Hibernate-annotations.jar库就可以了.

As announced earlier, the highlight of the 4.2 release is the implementation of method level constraints (HV-347) as described in Appendix C of the Bean Validation specification. Many thanks to Gunnar for implementing this new feature. Method level validation allows to apply constraints to method ">parameters or return values like this:

public @NotNull String saveItem(@Valid @NotNull Item item, @Max(23) BigDecimal price)

To validate these constraints you would get hold of a MethodValidator via the Validator.unwrap() method:

MethodValidator validator = Validation.byProvider( HibernateValidator.class )
    .configure()
    .buildValidatorFactory()
    .getValidator()
    .unwrap( MethodValidator.class );

and use one of the following methods of this new interface:

public interface MethodValidator {
    public <T> Set<MethodConstraintViolation<T>> validateParameter(T object, Method method, Object parameterValue, int parameterIndex, Class<?>... groups);
    public <T> Set<MethodConstraintViolation<T>> validateParameters(T object, Method method, Object[] parameterValues, Class<?>... groups);
    public <T> Set<MethodConstraintViolation<T>> validateReturnValue(T object, Method method, Object returnValue, Class<?>... groups);
}

The returned MethodConstraintViolation is derived from ConstraintViolation and provides additional method level validation specific information. For example it can contain the method name and index of the parameter which caused the constraint violation. The documentation for this feature is still work in progress and will be completed in the following releases.

时间: 2024-09-29 08:24:13

Hibernate Validator 4.2.0 Beta1发布 实现方法级别的校验的相关文章

百度杀毒1.0 Beta1发布 限制名额下载体验

第1页http://www.aliyun.com/zixun/aggregation/12670.html">百度杀毒1.0 Beta1发布 限制名额下载体验 [天极软件频道消息]2013年2月,百度面向泰国市场推出英文版百度杀毒软件2013(Baidu Antivirus 2013),近日,中文版百度百度杀毒1.0 Beta1发布,目前提供有名额限制的下载体验. 据悉,百度杀毒是百度与卡巴斯基合作出品的全新杀毒软件,采用卡巴斯基反病毒引擎,集合了百度云查杀引擎,软件永久免费. 百度杀毒目

phpMyAdmin 4.4.0 beta1 发布,MySQL 管理工具

phpMyAdmin 4.4.0 beta1 发布,此版本包括大量的 bug 修复. 值得关注的新特性: Rename configuration directive from $cfg['NavigationTreeDisableDatabaseExpansion']to $cfg['NavigationTreeEnableExpansion'] -- if used, please update your config.inc.php Move the SQL scripts to crea

OpenNode 6.0 beta1发布 服务器的虚拟化工具

OpenNode是一个服务器的虚拟化工具,提供了一个易于使用(基于CentOS/RHEL)裸机的ISO安装程序,支持OpenVZ基于容器和同一个主机的KVMhttp://www.aliyun.com/zixun/aggregation/13883.html">虚拟化技术.OpenNode ISO安装程序可以建立一个最小的CentOS 5服务器系统,具有以下特点:RHEL 2.6.18内核修改.以支持OpenVZ和KVM虚拟化技术.OpenVZ和KVM虚拟机管理程序.libvirt管理界面支

kbmmw 5.0 beta1 发布

经过大半年的等待,kbmmw 的新版终于来了.经过近5年的打磨, kbmmw 的版本号升级到5了. kbmMW is a portable, highly scalable, high end application server and enterprise architecture integration (EAI) development framework for Win32, ..Net and Linux with clients residing on Win32, .Net, L

Hibernate Validator 6.0.0.Alpha2 改进对 Bean Validation 2.0 的支持

Hibernate Validator 6.0.0.Alpha2 发布了.Hibernate Validator 6 将成为 Bean Validation 2.0 的参考实现.此 Alpha2 版本与 Bean Validation 规范的 2.0.0.Alpha2 版本协调. 请注意,Hibernate Validator 6 需要 JDK 8 或更高版本. 自 Alpha1 以来的新功能 改进对容器元素验证的支持 Container element validation support i

Hibernate 5.0.14 发布,数据持久层框架

Hibernate 5.0.14 发布了. Hibernate 是一种 Java 语言下的对象关系映射解决方案. 它是使用 GNU 宽通用公共许可证发行的自由.开源的软件.它为面向对象的领域模型到传统的关系型数据库的映射,提供了一个使用方便的框架.Hibernate 也是目前 Java 开发中最为流行的数据库持久层框架,现已归 JBOSS 所有. 更新内容请参考提交记录. 下载地址 Source code (zip) Source code (tar.gz) 文章转载自 开源中国社区[https

Teiid 8.13 Beta1 发布,支持 WildFly 9.0.2.Final

Teiid 8.13 Beta1 发布,此版本支持 WildFly 9.0.2.Final.下载: http://teiid.jboss.org/downloads/ 此版本修复了之前版本关于 sockets,clustering 的 bug:支持 Web-Console.在以后的版本将会移除 "embedded" 包.更多改进内容请看发行说明. Teiid是一个数据虚拟化系统,让应用程序使用来自多个异构数据存储的数据. Teiid由一堆工具,组件和创建和执行双向数据的服务所组成.通过

Geomajas Hibernate layer 1.9.0发布 Hibernate映射插件

Geomajas Hibernate layer 1.8.1是一个插件,允许直接访问Hibernate映数据库表中的Geomajas映射框架.这包括全力支持一对多和多到一的属性. Geomajas Hibernate layer 1.9.0该版本针对一些小bug的改进和修正. 软件信息:http://geomajas.org/plugin/hibernate-layer

Hibernate Core v4.0.0.Alpha3发布 对象关系映射框架

Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库. Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序实用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是, Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任. Hibernate Core Version 4.0.0.Alpha3发行日志: Sub-task