自定意注解,做验证信息。。

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/xiaoleizhanghahaha/article/details/86423351
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;

@Target({ElementType.FIELD, ElementType.PARAMETER})
@Retention(RetentionPolicy.RUNTIME)
@Constraint(validatedBy = StatusEnumConstraintValidator.class)
public @interface StatusEnumConstraint {
    String message() default "status must be in {10,11,12,20,22,21}";
    Class<?>[] groups() default {};
    Class<? extends Payload>[] payload() default {};
}

实现

import javax.validation.ConstraintValidator;
import javax.validation.ConstraintValidatorContext;
public class StatusEnumConstraintValidator implements ConstraintValidator<StatusEnumConstraint, String> {
    @Override
    public void initialize(StatusEnumConstraint constraintAnnotation) {
    }
    @Override
    public boolean isValid(String status, ConstraintValidatorContext constraintValidatorContext) {
        return StatusEnum.isInEnum(status);
    }
}
package com.pingan.ifab.bank.common.constant;

public enum StatusEnum {
    CREATE("10"),
    APPROVED("11"),
    UNAPPROVE("12"),
    private String code;

    StatusEnum(String code) {
        this.code = code;
    }

    public static boolean isInEnum(String code) {
        for (StatusEnum statusEnum : StatusEnum.values()) {
            if (statusEnum.code.equals(code)) {
                return true;
            }
        }
        return false;
    }

    public String code() {
        return code;
    }
}

猜你喜欢

转载自blog.csdn.net/xiaoleizhanghahaha/article/details/86423351