spring mvc 使用jsr-303 @Valid实现bean的字段验证

转载 2013年12月04日 23:43:23
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对象。 
Java代码  收藏代码
  1. @RequestMapping(value="/login", method=RequestMethod.POST)  
  2. public String login(@Valid User user, BindingResult br, Map<String, Object> model) {  
  3.     if (br.hasErrors()) {  
  4.         return "login";  
  5.     }  
  6.     return "redirect:/salary/list.do";  
  7. }  
转载自:http://yingzhuo.iteye.com/blog/969444

SpringMVC使用@Valid注解进行数据验证

SpringMVC使用@Valid注解进行数据验证
  • zknxx
  • zknxx
  • 2016年09月03日 23:52
  • 39265

【SpringMVC整合MyBatis】validation校验-分组校验

分组校验 1.需求 上一次我们学习了validation校验的配置和使用方法,我们不难发现会有一些问题: 我们现在的校验规则,是在pojo里添加的: public class Items { ...
  • u013517797
  • u013517797
  • 2015年08月12日 11:33
  • 5009

SpringMVC 使用验证框架 Bean Validation(上)

对于任何一个应用而言在客户端做的数据有效性验证都不是安全有效的,这时候就要求我们在开发的时候在服务端也对数据的有效性进行验证。 SpringMVC 自身对数据在服务端的校验(Hibernate Val...
  • catoop
  • catoop
  • 2016年04月29日 00:03
  • 25457

spring mvc 使用jsr-303 @Valid实现bean的字段验证

JSR-303 是JAVA EE 6 中的一项子规范,叫做Bean Validation,官方参考实现是Hibernate Validator。  此实现与Hibernate ORM 没有任何关系。...
  • mawming
  • mawming
  • 2016年09月01日 15:20
  • 686

Spring mvc之JSR303框架实现数据格式化,数据验证,资源国际化

今天使用JSR303框架实现 mvc的3个重要的部分 数据格式化 数据验证 资源国际化 要使用到的3个jar包: hibernate-validator-4.3.2.Final.jar validat...
  • u013410747
  • u013410747
  • 2015年11月06日 23:43
  • 771

基于Spring MVC框架JSR-303的自定义注解Validator验证实现

服务器端的数据验证,对于一个WEB应用来说是非常重要的,而Spring从3.0开始支持JSR-303规范,它定义了一些标准的验证约束,同时也提供了一个可扩展的自定义方式来满足不同的开发需要,大象以SS...
  • singno_java
  • singno_java
  • 2014年06月21日 13:22
  • 2074

在spring mvc中实现JSR303验证并将验证结果传回给视图层

一 先上效果图:这是注册前 没有填写登录名,点击注册 显示用户名不能为空,实现方式是JSR303。 二 代码如下 这里不给出所有的代码,因为篇幅有限,给出和实现验证功能有关的代...
  • brucexiajun
  • brucexiajun
  • 2016年06月11日 23:34
  • 641

spring mvc 采用 jsr303 bean validation 校验框架

http://blog.csdn.net/ljwhx2002/article/details/8490011 1,JSR 303 http://jcp.org/en/jsr/deta...
  • zxygww
  • zxygww
  • 2015年06月19日 09:20
  • 525

JSR-303规范,Bean Validation(spring mvc中如何校验)

序: 利用bean-validator在spring mvc完成表单的校验极为方便,相比于struts2的validate用法方便太多了。下面这篇文章个人觉得对JSR303从应用层面做了一个很详细的...
  • techbirds_bao
  • techbirds_bao
  • 2012年12月21日 14:38
  • 5651

spring mvc + JSR-303验证框架

http://www.cnblogs.com/liukemng/p/3738055.html 在系列(4)、(5)中我们展示了如何绑定数据,绑定完数据之后如何确保我们得到的数据的正确...
  • kouwoo
  • kouwoo
  • 2014年10月30日 13:54
  • 907
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:spring mvc 使用jsr-303 @Valid实现bean的字段验证
举报原因:
原因补充:

(最多只允许输入30个字)