Bootstrap

Validated参数验证

常用注解-带分组

/**
* 内容名称
  */
 @NotBlank(message = "内容名称不能为空", groups = Group01.class)
 private String name;

自动验证

import org.springframework.validation.annotation.Validated;

@PostMapping("/add")
public R addContent(@RequestBody @Validated(ContentDetail.Group01.class) ContentDetail contentDetail){
     return R.ok();
 }

手动验证

import javax.validation.ConstraintViolation;
import javax.validation.Validator;

@PostMapping("/add")
public R addContent(@RequestBody @Validated(ContentDetail.Group01.class) ContentDetail contentDetail){
	ValidatorFactory factory = Validation.buildDefaultValidatorFactory();
    Validator validator = factory.getValidator();
    Set<ConstraintViolation<ContentDetail>> result = validator.validate(contentDetail, ContentDetail.Group01.class);
    for (ConstraintViolation<ContentDetail> constraintViolation : result) {
        System.out.println(constraintViolation.getPropertyPath() + ":" + constraintViolation.getMessage());
        return R.fail(constraintViolation.getMessage());
    }
    return R.ok();
}

常用注解

@Null					被注释的元素必须为 null
@NotNull				被注释的元素必须不为 null
@AssertTrue				被注释的元素必须为 true
@AssertFalse			被注释的元素必须为 false
@Min(value)				被注释的元素必须是一个数字,其值必须大于等于指定的最小值
@Max(value)				被注释的元素必须是一个数字,其值必须小于等于指定的最大值
@DecimalMin(value)		被注释的元素必须是一个数字,其值必须大于等于指定的最小值
@DecimalMax(value)		被注释的元素必须是一个数字,其值必须小于等于指定的最大值
@Size(max, min)			被注释的元素的大小必须在指定的范围内
@Digits (integer, fraction)		被注释的元素必须是一个数字,其值必须在可接受的范围内
@Past					被注释的元素必须是一个过去的日期
@Future					被注释的元素必须是一个将来的日期
@Pattern(value)			被注释的元素必须符合指定的正则表达式

@Email					被注释的元素必须是电子邮箱地址
@Length					被注释的字符串的大小必须在指定的范围内
@NotEmpty				被注释的字符串的必须非空
@Range					被注释的元素必须在合适的范围内
;