常用的验证注解:@NotNull:值不能为null;
@NotEmpty:字符串、集合或数组的值不能为空,即长度大于0;
@NotBlank:字符串的值不能为空白,即不能只包含空格;
@Size:字符串、集合或数组的大小是否在指定范围内;
@Min:数值的最小值;
@Max:数值的最大值;
@DecimalMin:数值的最小值,可以包含小数;
@DecimalMax:数值的最大值,可以包含小数;
@Digits:数值是否符合指定的整数和小数位数;
@Pattern:字符串是否匹配指定的正则表达式;
@Email:字符串是否为有效的电子邮件地址;
@AssertTrue:布尔值是否为true;
@AssertFalse:布尔值是否为false;
@Future:日期是否为将来的日期;
@Past:日期是否为过去的日期;
实体类代码
@Data
public class User {
@NotBlank(message = "用户姓名不能为空")
private String name;
@NotBlank(message = "密码不能为空")
@Size(min = 6, message = "密码长度不能少于6位")
private String password;
@Min(value = 0, message = "年龄不能小于0岁")
@Max(value = 150, message = "年龄不应超过150岁")
private Integer age;
@Pattern(regexp = "^((13[0-9])|(15[^4])|(18[0-9])|(17[0-9])|(147))\d{8}$", message = "手机号格式不正确")
private String phone;
}
Controller代码 在参数前添加@Valid
注解,表示验证该参数。