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

时间:2014-06-11 10:02:14

标签: java annotations bigdecimal

我有以下课程。

Class Item {

   private BigDecimal amount;

   ....
}

我如何验证金额它在精度之后应该只包含两位数。 即

  

2.19是正确的

  

2.292不正确

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

谢谢:)

2 个答案:

答案 0 :(得分:11)

amount类的Item字段添加注释,如下所示

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"

答案 1 :(得分:4)

尝试对@Digits

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