Springboot JSR303数据校验
使用步骤:
- 在需要校验的实体类字段上添加相应的注解
@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;
}
- 在需要校验的接口(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")
a-zA-Z ↩︎

浙公网安备 33010602011771号