如何使用休眠验证器检查Enum中的值

时间:2019-06-28 13:58:26

标签: java

如何检查Enum中的值?

例如,我下面有一个枚举,其中包含以下2个数据

public enum DeliveryMethodEnum {
    IMMEDIATE(1), 
    SCHEDULED(2);

    private Integer deliveryMethod;

    private DeliveryMethodEnum(Integer deliveryMethod) {
        this.deliveryMethod = deliveryMethod;
    }

    public Integer getDeliveryMethod() {
        return deliveryMethod;
    }
}

1. IMMEDIATE(1)
2. SCHEDULED(2)

我需要验证属于上述枚举的请求参数值。 在请求参数中,我们将传递1/2/3。

如果我们传递1或2,那么它将通过,因为数据在枚举中可用,否则它将失败。

请求参数如下

{
    "deliveryMethod": 1
}

如何使用休眠验证器实现上述目的?

1 个答案:

答案 0 :(得分:0)

您可以创建一个自定义验证器。

您将必须创建可在参数上使用的注释,然后需要实现验证器本身。

请检查官方文档:https://docs.jboss.org/hibernate/stable/validator/reference/en-US/html_single/#validator-customconstraints-simple