1.参数校验总结
注解 | 描述 |
---|---|
@Null | 限制只能为null |
@NotNull | 限制必须不能为null |
@NotEmpty | 验证注解的值不为null且不为空(长度大于0) |
@NotBlank | 验证注解的元素值不为空(不为null、去除首位空格后长度为0),不同于@NotEmpty,@NotBlank只应用于字符串且在比较时会去除字符串的空格 |
@AssertFalse | 限制必须为false |
@AssertTrue | 限制必须为true |
@Size(min =1 ,max = 10) | 限制最小值等于1,最大值等于10(1<=a<=10) |
@Past | 限制必须是一个过去的日期 |
@Future | 验证日期为当前时间之后 |
@FutureOrPresent | 验证日期为当前时间或之后 |
@PastOrPresent | 验证日期为当前时间或之前 |
@Max(value = 10) | 限制最大值必须小于等于10(a<=10) |
@Min(value = 1) | 限制最小值必须大于等于1(1<=a) |
@DecimalMax(value=“10”) | 限制最大值必须小于等于10(a<=10) |
@DecimalMin(value=“1”) | 限制最小值必须大于等于1(1<=a) |
@Digits(integer = 6,fraction = 2) | 限制必须为一个小数,且整数部分的位数不能超过6,小数部分的位数不能超过2 |
@Negative | 限制必须为负整数 |
@NegativeOrZero | 限制必须为负整数或零 |
@Positive | 限制必须为正整数 |
@PositiveOrZero | 限制必须为正整数或零 |
@Pattern(value) | 限制必须符合指定的正则表达式 |
限制必须为email格式 |
2.使用
Controller
import org.springframework.validation.annotation.Validated;@PostMapping("/withdraw")
@ApiOperation("申请提现")
public R withdraw(@Validated @RequestBody TxOrderForm form) {return tCommissionOrderService.withdrawal(form);
}
form
package com.dcqq.wechat.form;import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.NonNull;import javax.validation.constraints.*;
import java.math.BigDecimal;/*** * * @author dcqq* @date 2024-01-12*/
@Data
public class TxOrderForm {@ApiModelProperty(value = "提现金额",required = true)@NotNull(message = "提现金额不能为空")@DecimalMin(value = "100",message = "提现金额不能小于100!")private BigDecimal jfNum;@ApiModelProperty("提现/充值方式(1.微信,2.支付宝,3.线下转账(银行卡),4.余额)")private String txCxWay="3";@ApiModelProperty("提现凭证截图")private String rechargeVoucher;@ApiModelProperty(value = "持卡人姓名",required = true)@NotBlank(message = "持卡人姓名不能为空")private String ckName;@ApiModelProperty(value = "银行名称",required = true)@NotBlank(message = "银行名称不能为空")private String bankName;@ApiModelProperty(value = "开户行",required = true)@NotBlank(message = "开户行不能为空")private String bank;@ApiModelProperty(value = "银行卡号",required = true)@NotBlank(message = "银行卡号不能为空")private String bankCard;@ApiModelProperty("提现备注")private String remark;
}