在Java应用开发中,尤其是涉及到Web服务和数据处理时,确保传入的数据符合预期是非常重要的。javax.validation.constraints
包提供了一系列强大的注解,用于简化这一过程。这些注解基于JSR 303/JSR 349规范,能够帮助开发者以声明式的方式执行参数验证,而无需手动编写复杂的校验逻辑。下面我们将逐一介绍这些注解,并提供示例说明其适用场景和字段类型。
1. 布尔值验证
@AssertFalse
- 用途:确保被注解的字段必须为
false
。 - 适用字段类型:
boolean
,Boolean
- 示例:
@AssertFalse private boolean inactive;
@AssertTrue
- 用途:确保被注解的字段必须为
true
。 - 适用字段类型:
boolean
,Boolean
- 示例:
@AssertTrue private boolean isActive;
2. 数值范围验证
@DecimalMax(value)
- 用途:限制数值最大值(包括小数)。
- 适用字段类型:
BigDecimal
,BigInteger
,double
,float
- 示例:
@DecimalMax("99.99") private BigDecimal price;
@DecimalMin(value)
- 用途:限制数值最小值(包括小数)。
- 适用字段类型:同上
- 示例:
@DecimalMin("1.00") private double discount