我有一个要求double的字段。如果输入String,则默认消息为:

Failed to convert property value of type java.lang.String to required type java.lang.Double for property price; nested exception is java.lang.NumberFormatException: For input string: "fsd"


未输入值时的自定义消息。我已将此消息设置为执行以下操作:

@NotNull(message = "price is required")
private Double price;


是否存在类型不匹配的等效注释?

最佳答案

没有简单的方法。实际上,无法应用验证。验证应用于初始化的POJO。在您的情况下,无法创建POJO,没有有效的值来初始化Double。

作为我的项目之一的变通办法,我们将所有POJO字段都设为String并对其进行验证。还提供了将String值转换为Double / Boolean / Date等的方法。

09-20 19:38