【知识整理】SpringMVC-JSR 303数据校验

来源:互联网 发布:萧山网络问政查看 编辑:程序博客网 时间:2024/06/03 21:54
一.JSR 303数据校验

1.JSR 303是java为Bean数据合法性校验提供的标准框架,它已经包含在javaEE 6.0中.JSR 303通过在Bean属性上标注类似@Notnull\@Max等标准的注解指定校验规则,并通过标准的验证接口对Bean进行验证。

2.使用流程
(1)加入hiernate validator验证框架的jar包
(2)在SpringMVC配置文件中添加<mvc:annotation-driven></mvc:annotation-driven> 
(3)需要在bean的属性上添加对应的注解

例:

@NotEmpty(message="用户名不可为空") //校验username是否为空,如果为空,会报错“用户名不可为空”private String username;@Past(message="出生日期填写不正确") //校验birth是否为正确的出生日期格式(验证出生日期时间一定在当前时间之前)@DateTimeFormat(pattern="yyyy-MM-dd") //按pattern属性所规定的格式对日期进行格式化private Date birth;
(4)在目标方法bean类型的前面添加@validate注解,这里一个@Valid的参数后必须紧挨着一个BindingResult 参数,否则spring会在校验不通过时直接抛出异常

@Controllerpublic class TestDateTimeFormat {@RequestMapping("/testDateTimeFormat")public String dataTimeFormat(@Valid User user, BindingResult result){if(result.hasErrors()){List<ObjectError> errorList = result.getAllErrors();for(ObjectError error : errorList){System.out.println(error.getDefaultMessage());}}System.out.println(user);return "modelDataTest";}}


1 0
原创粉丝点击