SpringMVC整合hibernate-validator后端数据校验
1、导入依赖
<!-- 后端数据校验 -->
<dependency>
<groupId>org.hibernate.validator</groupId>
<artifactId>hibernate-validator</artifactId>
<version>6.2.3.Final</version>
</dependency>
2、在springmvc.xml配置文件中配置相关信息
<!-- hibernate-validator数据检验-->
<!-- 注册验证器 -->
<mvc:annotation-driven validator="validator"/>
<bean id="validator" class="org.springframework.validation.beanvalidation.LocalValidatorFactoryBean">
<property name="providerClass" value="org.hibernate.validator.HibernateValidator"/>
</bean>
3、创建getError方法
private Map<String, String> getErrors(BindingResult result) {
Map<String, String> map = new HashMap<>();
List<FieldError> list = result.getFieldErrors();
for (FieldError error : list) {
map.put(error.getField(), error.getDefaultMessage());
}
return map;
}
4、实例
@PostMapping("add")
public String add(Province province, BindingResult result) {
if (result.hasErrors()) {
//如果没有通过,跳转提示
Map<String, String> map = getErrors(result);
throw new WegoArgumentException(map);
} else {
province.setStatus(1);
provinceService.add(province);
//重定向到列表页面
return "redirect:/province/list";
}
}