添加bean层校验规则
@Pattern(regexp = "(^[a-z0-9_-]{6,16}$)|(^[\\u2E80-\\u9FFF]{2,5})",
message = "用户名需要输入6-16位字母和数字或者2-5位中文的组合\"")
//@Email
@Pattern(regexp = "^([a-z0-9_.-]+)@([\\da-z.-]+)\\.([a-z.]{2,6})$" ,
message = "邮箱格式不合法")
private String email;
获取校验信息
public Result saveEmp(@Valid Employee employee, BindingResult result) {
if (result.hasErrors()) {
Map<String, Object> map = new HashMap<>();
List<FieldError> errors = result.getFieldErrors();
for (FieldError fieldError : errors
) {
//错误信息,错误字段
map.put(fieldError.getField(), fieldError.getDefaultMessage());
}
return Result.error(500).setMsg("保存失败").add("error", map);
} else {
employeeService.saveEmp(employee);
return Result.success().setMsg("保存成功");
}
}
导入依赖
<!--JSR303数据校验-->
<dependency>
<groupId>org.hibernate.validator</groupId>
<artifactId>hibernate-validator</artifactId>
<version>6.0.18.Final</version>
</dependency>