首先上结论:(仅针对String)
针对Null,空串,和仅有空格的字符串三种
1.@NotNull:仅不能为null
2.@NotEmpty:不能为空串和null
3.@NotBlank:三者都不能有
这个看了网上很多文章,发现都说的不同,心里没底,不敢确定,于是自己就做了以String针对三者的测试。
当然,这个比较全
下面以add测试为例
@NotNull
校验部分
/**
* 检索首字母
*/
@NotNull
//@Pattern(regexp = "^[a-z]$",message = "检索首字母必须是一个字母")
private String firstLetter;
接口部分
/**
* 保存
*/
@RequestMapping("/save")
//@RequiresPermissions("product:brand:save")
public R save(@Valid @RequestBody BrandEntity brand, BindingResult result){
Map<String,String> map = new HashMap<>();
if (result.hasErrors()){
result.getFieldErrors().forEach((item)->{
String field = item.getField();
String message = item.getDefaultMessage();
map.put(field,message);
});
return R.error(400,"数据不合法").put("data",map);
}else{
}
brandService.save(brand);
return R.ok();
}
测试结果
@NotEmpty
校验部分
/**
* 检索首字母
*/
@NotEmpty
//@Pattern(regexp = "^[a-z]$",message = "检索首字母必须是一个字母")
private String firstLetter;
结果
@NotBlank
校验部分
/**
* 检索首字母
*/
@NotBlank
//@Pattern(regexp = "^[a-z]$",message = "检索首字母必须是一个字母")
private String firstLetter;
结果