2011-06-08 51 views
0

將從Grails域對象上的validate()調用接收的面向開發人員的驗證錯誤列表轉換爲面向用戶的錯誤消息的最佳方法是什麼?Grails驗證錯誤 - Developer vs

例子:
屬性[郵件]類[類testproj.AuthUser]與值[X]不是一個有效的電子郵件地址

寧願把它改爲:
給出的電子郵件是不是有效的電子郵件地址

有沒有什麼內置的,已經這樣做?

回答

6

messages.properties文件grails-app/i18n

退房這個文檔 http://grails.org/doc/latest/guide/7.%20Validation.html

要得到所有的錯誤代碼,看看這裏http://grails.org/doc/latest/ref/Constraints/email.html。啓用右側的快速導航。每個約束的底部是您用來更改錯誤消息的屬性鍵。

+0

什麼嘗試這似乎當不工作有什麼想法?你必須做一些事情來指定message.properties或你想要英語的事實嗎?我收到了舊的完整的錯誤消息。 – BuddyJoe 2011-06-08 20:52:14

+0

例如:testproj.SecureUser.email.email =電子郵件地址無效 – BuddyJoe 2011-06-08 21:12:13

+0

@tyndall,更新了我的答案。 – hvgotcodes 2011-06-09 14:48:49

1

也有一個很好的插件,叫做:

grails install-plugin i18n-templates

可以在這裏找到http://www.grails.org/plugin/i18n-templates

例如您在'org.example.User'中有一個Domain類,並且您想要指定本地化消息。使用下面的命令:

grails generate-i18n-messages org.example.User

,這將產生在控制檯爲你可能的郵件列表。 將此輸出複製並粘貼到messages.properties中,以獲取英語語言以及您希望進行本地化的語言的所有其他message.properties。

然後你只需要編輯這些屬性文件,以便讓你的頁面本地化。 Eclipse/STS有一個很好的GUI,這使得這些屬性文件的本地化更快。

問候,

+0

非常酷1月,我會看看這個+1 – BuddyJoe 2011-06-11 20:18:24