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 使用验证框架 Bean Validation(上)

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

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

JSR-303 是JAVA EE 6 中的一项子规范,叫做Bean Validation,官方参考实现是Hibernate Validator。  此实现与Hibernate ORM 没有任何关系。...

spring注解式参数校验

spring hibenate注解式参数验证

SpringMVC学习系列(6) 之 数据验证

在系列(4)、(5)中我们展示了如何绑定数据,绑定完数据之后如何确保我们得到的数据的正确性?这就是我们本篇要说的内容 —> 数据验证。 这里我们采用Hibernate-validator来进行验...

自定义全局异常捕获

1.实现HandlerExceptionResover 2.注解@ControllerAdvice

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

今天使用JSR303框架实现 mvc的3个重要的部分 数据格式化 数据验证 资源国际化 要使用到的3个jar包: hibernate-validator-4.3.2.Final.jar validat...

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

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

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

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

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

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

spring mvc 采用 jsr303 bean validation 校验框架

http://blog.csdn.net/ljwhx2002/article/details/8490011 1,JSR 303 http://jcp.org/en/jsr/deta...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

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