有关hibernate-validator的语法请参考:hibernate-validator 校验规则详解
第一步:添加maven依赖
org.hibernate.validator
hibernate-validator
6.2.3.Final
第二步:在applicationContext.xml中添加配置
第三步:实体类中添加检验
@Getter
@Setter
@NoArgsConstructor
@AllArgsConstructor
@ToString
public class Province {
/**
* 编号
*/
private Integer id;
/**
* 省名
*/
@NotBlank(message = "省名不能为空")
private String name;
/**
* 所属地区
*/
@NotBlank(message = "大区不能为空")
private String area;
/**
* 显示优先级
*/
@Range(min=0,max=255,message="优先级不能为空,且值需要在[0,255]")
private Integer priority;
/**
* 状态:1正常 0 删除
*/
private Byte status;
}
第四步:Controller中使用
@Controller
@RequestMapping("/province")
public class ProvinceController {
@Resource
private ProvinceService provinceService;
@PostMapping("/add")
public String add(@Valid Province province, BindingResult result) {
if(result.hasErrors()){
//如果没有通过,跳转提示
Map map = getErrors(result);
//TODO 将错误以特定(比如,JSON)的格式传递给用户
return "";
}else {
province.setStatus((byte) 1);
provinceService.add(province);
//重定向到列表页面
return "redirect:/province/list";
}
}
private Map getErrors(BindingResult result) {
Map map = new HashMap();
List list = result.getFieldErrors();
for (FieldError error : list) {
map.put(error.getField(), error.getDefaultMessage());
}
return map;
}
}