使用vaild对SpringBoot项目后端数据校验
1.引入jar包
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-validation</artifactId>
</dependency>
2.在对应实体类上添加注解做限制
/**
* 用户名
*/
@NotBlank(message="用户名不能为空", groups = {AddGroup.class, UpdateGroup.class})
private String username;
@TableField(exist=false)
private String oldUsername;
/**
* 密码
*/
@NotBlank(message="密码不能为空", groups = AddGroup.class)
@Pattern(regexp ="^(?=.*[0-9])(?=.*[a-zA-Z])(?=.*[^a-zA-Z0-9]).{8,16}$",message = "密码必须为8~16个字母和数字以及特殊符号组合")
private String password;
/**
* 邮箱
*/
@NotBlank(message="邮箱不能为空", groups = {AddGroup.class, UpdateGroup.class})
@Email(message="邮箱格式不正确", groups = {AddGroup.class, UpdateGroup.class})
private String email;
/**
* 手机号
*/
@Length(max = 11, min = 11, message = "手机号的长度必须是11位")
@Pattern(regexp = "^[1](([3][0-9])|([4][5-9])|([5][0-3,5-9])|([6][5,6])|([7][0-8])|([8][0-9])|([9][1,8,9]))[0-9]{8}$", message="手机号格式不正确")
private String mobile;
3.对应的控制层方法中使用@Valid和@BindingResult注解
@SysLog("保存用户")
@PostMapping("/save")
@RequiresPermissions("sys:user:save")
public RetMessage save(@RequestBody @Valid SysUserEntity user, BindingResult bindingResult){
// 校验输入信息是否合法
if (bindingResult.hasErrors()) {
String error = bindingResult.getFieldError().getDefaultMessage();
return RetMessage.error(error);
}
浙公网安备 33010602011771号