JSR-303 是JAVA EE 6 中的一项子规范,叫做Bean Validation,官方参考实现是Hibernate Validator。
此实现与Hibernate ORM 没有任何关系。JSR 303 用于对Java Bean 中的字段的值进行验证。
Spring MVC 3.x之中也大力支持 JSR-303,可以在控制器中对表单提交的数据方便地验证。
JSR 303内置的约束规则:
@AssertTrue / @AssertFalse
- 验证适用字段:boolean
- 注解说明:验证值是否为true / false
- 属性说明:-
@DecimalMax / @DecimalMin
- 验证适用字段:BigDecimal,BigInteger,String,byte,short,int,long
- 注解说明:验证值是否小于或者等于指定的小数值,要注意小数存在精度问题
- 属性说明:公共
@Digits
- 验证适用字段:BigDecimal,BigInteger,String,byte,short,int,long
- 注解说明:验证值的数字构成是否合法
- 属性说明:integer:指定整数部分的数字的位数。fraction: 指定小数部分的数字的位数。
@Future / @Past
- 验证适用字段:Date,Calendar
- 注解说明:验证值是否在当前时间之后 / 之前
- 属性说明:公共
@Max / @Min
- 验证适用字段:BigDecimal,BigInteger,String,byte,short,int,long
- 注解说明:验证值是否小于或者等于指定的整数值
- 属性说明:公共
@NotNull / @Null
- 验证适用字段:引用数据类型
- 注解说明:验证值是否为非空 / 空
- 属性说明:公共
@Pattern
- 验证适用字段:String
- 注解说明:验证值是否配备正则表达式
- 属性说明:regexp:正则表达式flags: 指定Pattern.Flag 的数组,表示正则表达式的相关选项。
@Size
- 验证适用字段:String,Collection,Map,数组
- 注解说明:验证值是否满足长度要求
- 属性说明:max:指定最大长度,min:指定最小长度。
@Valid
- 验证适用字段:引用类型
- 注解说明:验证值是否需要递归验证
- 属性说明:无
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
刚开始学着用JSR-303做验证就出现麻烦了。 昨天晚上调试了好久。
使用Spring MVC 和 JSR-303的标注做表单提交的服务器端验证时,
@Valid 标注的Command对象和BindingResult参数一定要紧挨着。要不然
数据绑定错误直接抛异常,不会封装成一个BindingResult对象。
@RequestMapping(value="/login", method=RequestMethod.POST)
public String login(@Valid User user, BindingResult br, Map<String, Object> model) {
if (br.hasErrors()) {
return "login";
}
return "redirect:/salary/list.do";
}
分享到:
相关推荐
JSR-303接口标准,全称为Java Specification Request 303,是Java平台上的一个规范,旨在提供一种统一的、与框架无关的bean验证框架。该标准由Java Community Process(JCP)提出,目的是简化Java应用中的数据验证...
更多详细信息可以参考相关的博客文章,例如[张开涛的博客](http://jinnianshilongnian.iteye.com/blog/1990081)和[这篇关于JSR303校验类型的博客](http://www.cnblogs.com/rocky-AGE-24/p/5245022.html)。...
JSR-303的发布使得在数据自动绑定和验证变得简单,使开发人员在定义数据模型时不必考虑实现框架的限制。
### Spring JSR-303帮助文档:Bean Validation 核心知识点详解 #### 一、简介 **JSR-303(Java Specification Request 303)** 是 Java 平台上的一种数据验证标准,其核心是 **Bean Validation**。这一规范由 **...
Spring Core提供了一种优雅的方式来处理参数校验,特别是通过JSR 303、JSR 349和JSR 380这些标准注解,实现了高效且易于维护的验证机制。 JSR 303最初定义了JavaBean验证的标准,而JSR 349是其修订版,主要增加了对...
validator-5.2.4.Final.jar、hibernate-validator-annotation-processor-5.2.4.Final.jar、hibernate-validator-cdi-5.2.4.Final.jar、validation-api-1.1.0.Final.jar四个jar包,用于JSR303的校验。
hibernate-validator-5.2.4.Final.jar hibernate-validator-annotation-processor-5.2.4.Final.jar hibernate-validator-cdi-5.2.4.Final.jar validation-api-1.1.0.Final.jar jboss-logging-3.2.1.Final.jar ...
JSR-303是Java Specification Requests之一,是一种用于Java的Bean验证规范。它定义了一套元数据模型和API,用于在Java Bean上进行声明式验证。 使用SpringMVC结合JSR-303进行数据校验的流程一般包括以下几个步骤:...
而JSR-303数据校验是Java社区规范(Java Specification Request)的一部分,该规范定义了一种基于注解的校验机制,被广泛应用于数据校验领域。SpringMVC结合JSR-303可以实现对数据的有效验证,确保接收到的数据是...
Resteasy资源中的JSR-303验证 Swagger JAX-RS扫描 Swagger在端点上提供其余文档 轻松灵活地处理JAX-RS子资源 要运行该应用程序,只需键入 $ mvn jetty:run 启动应用程序后,您可以在或。 这里最困难的部分是说服大...
JSR-303(Java Specification Request 303)是Java世界中用于对象验证的标准,它的目标是提供一种标准的方式来定义和执行数据验证。尽管是Java规范,但Symfony的验证器组件很好地实现了这一规范,使得PHP开发者也能...
《深入理解Hibernate-validator及其在JSR-303中的应用》 Hibernate-validator是Java世界中一个强大的验证框架,它在JSR-303规范的基础上提供了丰富的注解和灵活的验证逻辑,使得开发者能够轻松地对输入数据进行验证...
SpringMVC框架结合JSR-303标准,利用Hibernate Validator实现了强大的验证功能。本文将详细探讨`hibernate-validator-5.1.0.zip`这个包在SpringMVC中的应用,以及其在数据校验中的关键知识点。 一、Hibernate ...
JSR-303 是JAVA EE 6 中的一项子规范,叫做Bean Validation,现在一共有两个规范:BeanValidation1.0(即JSR303)和BeanValidation1.1(即JSR349),主要用于对数据进行校验,确保输入进来的数据从语 义上来讲是正确的。...
JSR-303 是 JAVA EE 6 中的一项子规范,叫做 Bean Validation,官方参考实现是 Hibernate Validator。 此实现与 Hibernate ORM 没有任何关系。JSR 303 用于对 Java Bean 中的字段的值 进行验证。
1. 生成bean验证注释的jaxb插件(jsr-303):这个插件可以在生成的Java类中自动添加JSR-303的验证注解,如`@NotNull`, `@Size`, `@Pattern`等,使得在编译时就能检查对象的有效性,提高代码质量。 2. 用于生成bean...
JSR 303 的参考实现 使用指南 由 Hardy Ferentschik和Gunnar Morling and thanks to Shaozhuang Liu 4.3.1.Final 版权 © 2009 - 2011 Red Hat, Inc. & Gunnar Morling June 20, 2011 序言 1. 开始入门 1.1. 第一...
jar包,亲测可用
《GWT Bean验证器:JSR-303/349在服务器端的应用》 GWT(Google Web Toolkit)是一种强大的开发工具,用于构建高性能的JavaScript应用程序。它允许开发者使用Java语言进行编码,然后自动编译为优化的JavaScript代码...
JSR 303,全称为Java Specification Request 303,是Java平台的一个标准,主要关注于数据验证。这个标准定义了一套API,允许开发者在应用程序中进行bean对象的数据验证,以确保输入数据的正确性和一致性。JSR 303是...