1、jar包。由于spring4.1.6版本使用的还是 javax.validation,所以Hibernate Validator最高只能用6.0.23.Final版本,操作这个版本用的就是 jakarta.validation-api 了。参照maven说明,导入以下包
hibernate-validator-6.0.23.Final.jar
classmate-1.3.4.jar
jboss-logging-3.3.2.Final.jar
validation-api-2.0.1.Final.jar
2,spring-mvc.xml配置
<!--配置校验器-->
<bean id="validator" class="org.springframework.validation.beanvalidation.LocalValidatorFactoryBean">
<property name="providerClass" value="org.hibernate.validator.HibernateValidator" />
</bean>
<mvc:annotation-driven validator="validator"/>
3,实际使用
/**
*
* @param params 请求参数,在AddRequest类中添加相应的校验规则
* @param bindingResult 校验结果。注意该参数是和校验对象成对出现的
*/
@RequestMapping(value = "/add", method = RequestMethod.POST)
public void add(@Valid @RequestBody AddRequest params, BindingResult bindingResult) {
if (bindingResult.hasErrors()) {
for (FieldError error:bindingResult.getFieldErrors()){
System.out.println(error.getField() + ":" + error.getDefaultMessage());
}
}
}