常用验证
@Min(value = 0, message = "Type 必须为数字")
@Pattern(regexp = "^\\s$|^[0-9]*$", message = "Status 必须为数字")
或
@Pattern(regexp = "^$|^([0-9])$", message = "Status 必须为数字")
private String status;
/** 姓名 */
@NotBlank(message = "请输入名称")
@Length(message = "名称不能超过个 {max} 字符", max = 10)
public String name;
/** 年龄 */
@NotNull(message = "请输入年龄")
@Range(message = "年龄范围为 {min} 到 {max} 之间", min = 1, max = 100)
public Integer age;
/** 爱好 */
@NotEmpty(message = "兴趣爱好不能为空")
@Size(message = "兴趣选择最多{max}个", max = 5)
public List<String> hobbyList;
public Object valid(@Valid Person person, BindingResult bindingResult) {
if (bindingResult.hasErrors()) {
//获取错误信息
FieldError fieldError = bindingResult.getFieldError();
//获取验证失败字段名
String field = fieldError.getField();
//获取验证失败的message
String defaultMessage=fieldError.getDefaultMessage();
return defaultMessage;
}
return "success";
}
方法
方法名 说明
@Null 制只能为null
@NotNull 限制必须不为null
@AssertFalse - -限制必须为false
@AssertTrue - -限制必须为true
@DecimalMax(value) - -限制必须为一个不大于指定值的数字
@DecimalMin(value)- - 限制必须为一个不小于指定值的数字
@Digits(integer,fraction) - -限制必须为一个小数,且整数部分的位数不能超过integer,小数部分的位数不能超过fraction
@Future - -限制必须是一个将来的日期
@Max(value) - -限制必须为一个不大于指定值的数字
@Min(value) - -限制必须为一个不小于指定值的数字
@Past - -限制必须是一个过去的日期
@Pattern(value) - -限制必须符合指定的正则表达式
@Size(max,min) - -限制字符长度必须在min到max之间
@Past - -验证注解的元素值(日期类型)比当前时间早
@NotEmpty - -验证注解的元素值不为null且不为空(字符串长度不为0、集合大小不为0)
@NotBlank - -验证注解的元素值不为空(不为null、去除首位空格后长度为0),不同于@NotEmpty,@NotBlank只应用于字符串且在比较时会去除字符串的空格
@Email - -验证注解的元素值是Email,也可以通过正则表达式和flag指定自定义的email格式