我在 CRUD 的 java.ws.rs
API 类中拥有下面的 bean:
class FooBean {
BigDecimal ageLowerRange;
BigDecimal ageUpperRange;
BigDecimal heightLowerRange;
BigDecimal heightUpperRange;
}
我找不到正确的javax.validation
注释可以验证下/高字段是否在一个范围内,并且遵循以下逻辑:
public boolean compre(BigDecimal upperRange, BigDecimal lowerRange) {
if (upperRange == lowerRange) return true; // handles both param being null
if (upperRange == null) return false;
if (lowerRange == null) return true;
return upperRange.compareTo(lowerRange) > 0;
}
是否有一种 javax 验证可以执行我想要的操作,或者另一种方法来更优雅地验证我的 bean?
是的,使用注释。
休眠验证器:
@Range(min=, max=)
或从javax
:
@Min(value=)
@Max(value=)
在每个变量之上。