@Digits 注释中的自定义错误消息
Custom error message in @Digits annotation
我正在尝试借助 Hibernate 验证 API 验证 BigDecimal
字段 - 使用 @Digits
注释
@Digits(integer = 12, fraction = 2,
message = "numeric value out of bounds (min 0.01, max 999999999999.99)")
private BigDecimal amount = null;
当我传递金额值 123.123 时,我收到的错误消息是
'Classname.amount' numeric value out of bounds (min 0.01, max 999999999999.99)
但问题不是无效范围,而是格式。我们只允许 2 个小数。
我想要两个消息,一个是无效范围,第二个是无效分数。
是否可以有两条不同的消息?
我试过使用消息表达式进行插值,但它的选项有点有限
你可以试试
@DecimalMin( value = "0.01", message ="too small")
@DecimalMax( value = "99999999999", message ="too big")
@Digits( integer=12, fraction=2, message = "bad format")
private BigDecimal amount = null;
@NotNull
@Positive
@Digits(integer = 12, fraction = 2, message = "${validatedValue > 999999999999.99 ? "
+ "'numeric value out of bounds (min 0.01, max 999999999999.99)':"
+ "'value cannot contain more than two fractional digits.'}")
private BigDecimal amount;
我能够使用带消息表达式的插值来解决问题
我正在尝试借助 Hibernate 验证 API 验证 BigDecimal
字段 - 使用 @Digits
注释
@Digits(integer = 12, fraction = 2,
message = "numeric value out of bounds (min 0.01, max 999999999999.99)")
private BigDecimal amount = null;
当我传递金额值 123.123 时,我收到的错误消息是
'Classname.amount' numeric value out of bounds (min 0.01, max 999999999999.99)
但问题不是无效范围,而是格式。我们只允许 2 个小数。
我想要两个消息,一个是无效范围,第二个是无效分数。
是否可以有两条不同的消息?
我试过使用消息表达式进行插值,但它的选项有点有限
你可以试试
@DecimalMin( value = "0.01", message ="too small")
@DecimalMax( value = "99999999999", message ="too big")
@Digits( integer=12, fraction=2, message = "bad format")
private BigDecimal amount = null;
@NotNull
@Positive
@Digits(integer = 12, fraction = 2, message = "${validatedValue > 999999999999.99 ? "
+ "'numeric value out of bounds (min 0.01, max 999999999999.99)':"
+ "'value cannot contain more than two fractional digits.'}")
private BigDecimal amount;
我能够使用带消息表达式的插值来解决问题