[英]How can I use wildcard character in validation-text.properties file?
我很難弄清楚如何使spring在表單綁定期間將我的自定義錯誤消息用於List對象中字段上的錯誤。
上述問題的較清晰版本為:
我的課看起來像這樣:
public class Foo
{
private Long fooId;
private Long number;
//getters and setters stuff
}
然后是一個類Bar,它具有Foo
的HAS-A
列表:
public class Bar
{
private List<Foo> foos;
//other stuff
}
如果我的酒吧只有一個Foo
,則使用以下消息密鑰(在validation-text.properties中)
typeMismatch.bar.foo.number=Invalid data.
但是,因為我有Foo
的列表,所以該字段實際上是foos[0].number
或foos[1].number
等。
所以很明顯, typeMismatch.bar.foo
不會解析為任何東西。
我的問題是,如何在我的validate-text.properties字段中指定類似的內容:
typeMismatch.bar.foos[*].number=Invalid data. ???
您可以通過檢查BindingResult
對象來檢查可以在validation-text.properties中使用哪些鍵。 將BindingResult result
作為參數添加到您的控制器方法中(如果尚不存在),然后在發生驗證錯誤時,查看一下result.getFieldError()。getCodes()(其中應包含第一個字段錯誤的代碼) (如果有)。
編輯
我已經嘗試了您的示例,並檢查了BindingResult
的代碼。 以下任何代碼均應工作
因此,要獲得所需的內容,只需在已經嘗試過的內容上添加“ s”(它是foos而不是foo):
typeMismatch.bar.foos.number=Invalid data.
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.