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的发布使得在数据自动绑定和验证变得简单,使开发人员在定义数据模型时不必考虑实现框架的限制。
spring自己的验证框架,jsr-303的帮助文档
整合jsf2 bean验证需要的jar包,j2ee6规范jsr303 hibernate-validator-4.2.0.Final validation-api-1.0.0.GA
一、准备校验时使用的JARvalidation-api-1.1.0.Final.jar:JDK的接口;hibernate-validator-5.2.4.Final.jar是对上述接口的实现;或者在Maven中添加依赖:1.<dependency> 2. <groupId>org.hibernate</groupId> 3....
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 ...
本篇文章主要介绍了详解springmvc使用JSR-303进行数据校验,具有一定的参考价值,感兴趣的小伙伴们可以参考一下。
本篇文章主要介绍了SpringMVC 使用JSR-303进行校验 @Valid示例,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
Resteasy资源中的JSR-303验证 Swagger JAX-RS扫描 Swagger在端点上提供其余文档 轻松灵活地处理JAX-RS子资源 要运行该应用程序,只需键入 $ mvn jetty:run 启动应用程序后,您可以在或。 这里最困难的部分是说服大...
按照课件推荐下载,准确有效,包括(hibernate-validator-4.3.2.Final.jar;jboss-logging-3.1.0.CR2.jar;validation-api-1.1.0.Alpha1.jar和jsr303约束文档)
Hibernate Validator 5是Bean Validator(JSR-303)规范的标准实现,此版本包含了许多新特性: •约束组合:自定义的约束,可避免重复代码,提高可读性 •对组的约束:允许你自定义约束,你希望看到的特定子集 •类型...
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 中的字段的值 进行验证。
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包,亲测可用
背景参数校验是我们程序开发中必不可少的过程。用户在前端要校验参数的合法性,当数据到了后端,为了防止恶意操作,保持程序的健壮性,后端同样需要对数据进行校验。当我们
jar包,亲测可用
什么是JSR-303 JSR是Java Specification Requests的缩写,意思是Java规范提案,是指向JCP(Java Community Process)提出新增一个标准化技术规范的正式请求。任何人都可以提交JSR,以向Java平台增添新的API和服务,JSR...
jar包,亲测可用
JSR 303 jar包 validation-api-1.1.0.jar hibernate-validator-4.3.0.jar