使用@javax.validation.constraints.Digits 检查 bigdecimal 在精度后是否只有 2 位数字

2022-09-02 12:46:53

我有一个以下课程。

Class Item {

   private BigDecimal amount;

   ....
}

我如何验证应仅包含精度后的两位数。即

2.19 是正确的

2.292 不正确

使用注释 以及如何显示此自定义错误消息?@javax.validation.constraints.Digits

谢谢:)


答案 1

为类的字段提供注释,如下所示amountItem

class Item {

   @Digits(integer = 6, fraction = 2, message = "{javax.validation.constraints.Digits.message}")
   private BigDecimal amount;
}

在上面的类中,并且是必需的,消息是可选参数,在那里我们可以配置自定义错误消息。integerfraction@Digit

现在,我们在源目录中创建一个名为 ValidationMessages.properties 的属性文件。它看起来像什么东西..

javax.validation.constraints.Digits.message = "custom error message will be here"

答案 2

尝试对 以下各项施加约束:@Digits

@Digits(integer = 6, fraction = 2)
public String getAmount() {
   return amount;
}

推荐