Springboot JSR303数据校验

使用步骤:

  1. 在需要校验的实体类字段上添加相应的注解
@Data
@TableName("pms_brand")
public class BrandEntity implements Serializable {
	private static final long serialVersionUID = 1L;
	
	/**
	 * 品牌名
	 */
	@NotBlank(message = "品牌名称不能为空")
	private String name;
	/**
	 * 品牌logo地址
	 */
	@NotBlank(message = "logo不能为空")
	@URL(message = "logo必须是一个合法的url地址")
	private String logo;
}
  1. 在需要校验的接口(controller中)添加注解@Valid或者@Validated开启校验功能
    @RequestMapping("/save")
    public R save(@Valid @RequestBody BrandEntity brand){
		brandService.save(brand);
        return R.ok();
    }

这样基本的数据校验功能就实现了。


@Valid 与 @Validated校验注解的区别

  • @Valid:可以用在方法、构造函数、方法参数和成员属性(字段)上,支持嵌套校验.

  • @Validated:可以用在类型、方法和方法参数上。但是不能用在成员属性(字段)上,不支持嵌套校验(当前实体中包含另外一个实体的校验).

@NotNull 、@NotBlank与 @NotEmpty 的区别

  • @NotNull 验证对象是否不为null, 无法查检长度为0的字符串.

  • @NotBlank 检查约束字符串是不是Null还有被Trim的长度是否大于0,只对字符串,且会去掉前后空格.

  • @NotEmpty 检查约束元素是否为NULL或者是EMPTY.


常见数据校验注解

  • @Pattern 验证该字段是否符合正则表达式的规则。 例如:@Pattern(regexp = "/[1]&/",message = "必须是a-z或者A-Z之间的字母")

  • @Email(message = "该字段必须为邮箱格式")

  • @URL(message = "该字段必须是一个合法的url地址")

  • @Min(value = 0,message = "该字段允许的最小值为0")

  • @Max(value = 10,message = "该字段允许的最大值为10")

  • @Range(min = 1, max = 100, message = "取值范围 1-100")

  • @Length(min = 1,max = 10,message = "该字段的长度限制为1-10")


  1. a-zA-Z ↩︎

posted @ 2022-07-21 17:52  加瓦同学  阅读(302)  评论(0)    收藏  举报