在PHP / Symfony框架中,我们可以使用此链接中所述的Choice约束来验证请求值是否是一组值中的一个:
https://symfony.com/doc/current/reference/constraints/Choice.html
例如,我要测试category_id是否为以下之一:[1,2,3,4]。 在spring-boot中有什么方法可以进行这种验证吗?
答案 0 :(得分:1)
此问题使其更易于使用核心Java实现。使用enum
绝对可以更好地解决此问题,但是如果您希望使用验证库,则在这种情况下,休眠验证器会更好。
示例字段声明:
@Range(min = 1, max = 4)
int category_id;
答案 1 :(得分:0)
我找到了解决问题的方法,我必须创建一个带有 @AssertTrue 注释的函数,并检查是否允许从allowedValues数组提交该值 像这样:
int[] allowedValues = {1,2,3,4};
@AssertTrue
public boolean isValidType() {
return IntStream.of(allowedValues).anyMatch(x -> x == this.typeId);
}