2012-02-08 27 views
0

我想修改控制器中指定的命令對象驗證的表單輸入的messages.properties文件。輸出我從標準錯誤消息得到(我稍微修改,以確保我被擊中特定一個)是:修改控制器中嵌入的命令對象的錯誤消息

電子郵件不能爲空測試類com.dashboard.RegisterController $ DashboardUserRegistrationCommand

但沒有變種com.dashboard.RegisterController $ DashboardUserRegistrationCommand.null.message 作品

我想知道正確的規格應該是什麼。

回答

0

試着把DashboardUserRegistrationCommand放在RegisterController的外面(下面),但仍然在同一個文件中。然後com.dashboard.DashboardUserRegistrationCommand ..應該工作。

com.dashboard.DashboardUserRegistrationCommand.message.nullable

+0

也許我有別的事情不對勁,因爲這不工作 – user1085751 2012-02-08 19:05:24

0

錯誤消息的典型佈局是:

${packageName}.${className}.${propertyName}.${errorCode} 

因此,對於你的例子那就是:

com.dashboard.DashboardUserRegistrationCommand.message.nullable 

在右側的Grails Reference中有一個標題爲「限制」的標題。在該頁眉下列出的特定約束的每個頁面上,${errorCode}值列在頁面的底部。

有時您必須重新啓動run-app以獲取新消息以在Grails項目中填充。

0

只是爲了幫助別人的未來,我有同樣的問題,我的問題是我是我的定義鍵的方式,我現在使用:

對於默認的消息: default.null.message =寫{0}

對於條命令的錯誤消息值: my.package.UserCommand.name.nullable =請告訴我們您的姓名

,有時您使用可空,有時你使用空很奇怪。最好的方法是將直接Grails的約束,並檢查它是如何進行的那樣:

http://grails.org/doc/latest/ref/Constraints/nullable.html