基于@Valid自定义校验,校验参数大于0

更新时间:2023-05-12 09:38:26 阅读: 评论:0

基于@Valid⾃定义校验,校验参数⼤于0定义注解
在这⾥插⼊代码⽚
import der.annotation.validator.NotLessThanZeroValidator;
import javax.validation.Constraint;
import javax.validation.Payload;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
@Constraint(validatedBy ={NotLessThanZeroValidator.class})
@Target({ElementType.METHOD, ElementType.FIELD})
@Retention(RetentionPolicy.RUNTIME)
public @interface NotLessThanZero {
String message();
Class<?>[]groups()default{};
Class<? extends Payload>[]payload()default{};
}
定义注解实现
import der.annotation.NotLessThanZero;
import javax.validation.ConstraintValidator;
import javax.validation.ConstraintValidatorContext;
public class NotLessThanZeroValidator implements ConstraintValidator<NotLessThanZero, Object>{
@Override
public boolean isValid(Object value, ConstraintValidatorContext context){
if(null == value){
return true;
}
if(value instanceof Number){
if(((Number) value).intValue()>0){
return true;
}
}
return fal;
}
}
使⽤
@Data
@Accessors(chain =true)
@Valid
public class AddOrderItemFeeDTO {
@NotBlank(message ="订单号不能为空")
private String orderId;
@NotBlank(message ="费⽤项不能为空")
private String feeItem;
@NotNull(message ="费⽤项不能为空")
@NotLessThanZero(message ="费⽤项⾦额必须⼤于0") private Double amount;
private String remarks;
}

本文发布于:2023-05-12 09:38:26,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/90/105533.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:定义   校验   订单号   不能   参数   注解
相关文章
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图