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

Pra*_*kar 10 java annotations bigdecimal

我有以下课程.

Class Item {

   private BigDecimal amount;

   ....
}
Run Code Online (Sandbox Code Playgroud)

我如何可以验证量,它应该精度后只包含两个数字.即

2.19是正确的

和

2.292不正确

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

谢谢 :)

Pra*_*kar 14

给出类的amount字段注释Item如下

class Item {

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

在上面的类integer和fraction是强制性的消息是可选参数@Digit,有我们可以配置自定义错误消息.

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

javax.validation.constraints.Digits.message = "custom error message will be here"
Run Code Online (Sandbox Code Playgroud)


Ara*_*idi 5

尝试对 施加约束@Digits:

@Digits(integer = 6, fraction = 2)
public String getAmount() {
   return amount;
}
Run Code Online (Sandbox Code Playgroud)