我有一个需要data.input
的字段。如果输入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"
是否存在类型不匹配的等效注释?
答案 0 :(得分:3)
没有简单的方法。事实上,验证无法应用。验证适用于初始化的POJO。在你的情况下,无法创建POJO,没有有效值来初始化Double。
作为我的一个项目中的解决方法,我们将所有POJO字段用于字符串并验证它们。此外,还提供了将String值转换为Double / Boolean / Date等的方法。
答案 1 :(得分:2)
没有类型不匹配的验证注释,因为这在数据绑定期间发生,如果字段的数据绑定失败,则验证不会发生。但是,如果要更改错误列表中显示的消息,则应该能够使用项目资源包中的messages.properties
文件来执行此操作。我在我的消息文件中使用以下密钥,该文件适用于joda-time日期字段:
typeMismatch.org.joda.time.LocalDate=Dates must be entered in the format MM/DD/YYYY
有关详细信息,请参阅this question。