SpringBoot自定義validation驗(yàn)證
點(diǎn)擊上方藍(lán)色字體,選擇“標(biāo)星公眾號(hào)”
優(yōu)質(zhì)文章,第一時(shí)間送達(dá)
? 作者?|??Se7end
來源 |? urlify.cn/FRJ7Fv
66套java從入門到精通實(shí)戰(zhàn)課程分享
注解類
import?javax.validation.Constraint;
import?javax.validation.Payload;
import?java.lang.annotation.Documented;
import?java.lang.annotation.Retention;
import?java.lang.annotation.Target;
import?static?java.lang.annotation.ElementType.*;
import?static?java.lang.annotation.RetentionPolicy.RUNTIME;
@Target({METHOD,?FIELD,?ANNOTATION_TYPE,?CONSTRUCTOR,?PARAMETER})
@Retention(RUNTIME)
@Documented
@Constraint(validatedBy?=?StringLengthValidator.class)
public?@interface?StringLength?{
????//?必須加
????String?message()?default?"{javax.validation.constraints.NotNull.message}";
????//?必須加
????Class>[]?groups()?default?{};
????//?必須加
????Class?extends?Payload>[]?payload()?default?{};
????int?minLength()?default?0;
????int?maxLength()?default?16;
}
驗(yàn)證實(shí)現(xiàn)類
import?javax.validation.ConstraintValidator;
import?javax.validation.ConstraintValidatorContext;
import?java.util.Objects;
public?class?StringLengthValidator?implements?ConstraintValidator?{
????private?StringLength?stringLength;
????@Override
????public?void?initialize(StringLength?constraintAnnotation)?{
????????this.stringLength?=?constraintAnnotation;
????}
????@Override
????public?boolean?isValid(Object?value,?ConstraintValidatorContext?context)?{
????????if?(Objects.isNull(value))?{
????????????return?true;
????????}
????????if?(null?!=?stringLength)?{
????????????int?length?=?String.valueOf(value).length();
????????????int?maxLen?=?stringLength.maxLength(),
????????????????????minLen?=?stringLength.minLength();
????????????return?length?>=?minLen?&&?length?<=?maxLen;
????????}
????????return?false;
????}
}
粉絲福利:Java從入門到入土學(xué)習(xí)路線圖
???

?長(zhǎng)按上方微信二維碼?2 秒
感謝點(diǎn)贊支持下哈?
評(píng)論
圖片
表情
