spring mvc 数据校验
spring mvc 数据校验的两种方式:
1.JSR303
2.Hibernate Validator
第二种方式是对第一种方式的补充
使用Hibernate Validator进行数据校验的步骤:
1.引入jar包 (注意版本)###
hibernate-validator.jar
classmate.jar
jboss-logging.jar
validation-api.jar
hibernate-validator-annotation-processor.jar
2.配置
在SpringMVC配置文件中配置:
<mvc:annotation-driven ></mvc:annotation-driven>
要实现Hibernate Validator/JSR303校验(或者其他各种校验),必须实现SpringMVC提供的ValidatorFactory接口,LocalValidatorFactoryBean是ValidatorFactory的一个实现类
<mvc:annotation-driven ></mvc:annotation-driven>
会在SpringMVC容器中自动加载LocalValidatorFactoryBean类,因此可以直接实现数据校验。
3.直接使用注解
数据校验常见注解:
@Past//当前时间以前
@DateTimeFormat(pattern = "yyyy-MM-dd")
private Date birthday;
在校验的Controller中,给校验的对象前增加**@Valid注解**
//日期格式化
@RequestMapping(value = "testDateFactory")
//如果student格式化出错,会将错误信息传入result
public String testDateFactory(@Valid Student student,BindingResult result) {
System.out.println(student.getId()+student.getName()+student.getAge()+student.getBirthday());
if(result.getErrorCount()>0) {
for(FieldError error: result.getFieldErrors()) {
System.out.println(error.getDefaultMessage());
}
}
return "sucess"; //返回页面
}
ge());
}
}
return "sucess"; //返回页面
}