我試圖得到一個簡單的錯誤代碼的本地化形式,但我似乎無法讓它參數化,因爲它應該。在我的集成測試,我有這個,只是爲了說明問題:Grails不使用message.properties作爲錯誤消息?
for(FieldError error : errors.fieldErrors)
{
println error.toString()
}
在一些手工綁定,我有這樣的:
myObject.errors.rejectValue("field1.field2", "typeMismatch.java.lang.Integer", [value] as Object[], "")
但是當我打印我得到這個:
Field error in object 'com.me.MyObject' on field 'field1.field2': rejected value [1];
codes
[typeMismatch.java.lang.Integer.com.me.MyObject.field1.field2,typeMismatch.java.lang.Integer.field1.field2,typeMismatch.java.lang.Integer.field2,typeMismatch.java.lang.Integer.int,typeMismatch.java.lang.Integer]
爲什麼message.properties
的字符串沒有被使用? typeMismatch.java.lang.Integer=Property {0} must be a valid number
'「field1.field2」'引用讓我懷疑 - 它是一個有效的字段引用嗎?它是嵌套字段嗎?例如,我們只使用'「field2」'。 除此之外,絕對相似的代碼適合我。 你有'typeMismatch.java.lang.Integer'消息顯式地在你的'messages.properties'中嗎? – 2011-04-27 10:32:55