springboot使用注解校验参数

原始类型参数

直接在控制器(或者其他Bean)上使用@Validated注解。

@RestController
@RequestMapping("account")
@Validated
public class AccountController {
	// ......
}

在参数前添加校验注解

@GetMapping("account")
public Result<AccountVO> getAccount(
	@NotNull Long accountId
) {
	// ......
}

表单对象参数

参数AddressForm,添加@Valid

@PostMapping("/address/save")
public Object saveAddress(@Valid AddressForm addressForm) {
   ......
}

AddressForm中添加注解

public class AddressForm {
   private Integer id;
   @NotBlank
   private String name;
   @NotBlank(message = "{mobile.not.blank}")
   @Pattern(regexp = "^1[34578]\\d{9}$")
   private String mobile;

   ......
}

注意:示例中{name.not.blank}为国际化配置。国际化需要在培训文件下自定义org/hibernate/validator/ValidationMessages.properties

Bean Validation中常用注解

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

Hibernate Validator 常用注解

@Email  被注释的元素必须是电子邮箱地址
@Length(min=,max=)  被注释的字符串的大小必须在指定的范围内
@Range(min=,max=,message=)  被注释的元素必须在合适的范围内

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值