将从Grails域对象上调用validate()收到的面向开发人员的验证错误列表转换为面向用户的错误消息的最佳方法是什么?
例:
具有值[x]的类[class testproj.AuthUser]的属性[email]不是有效的电子邮件地址
宁愿读它:
给出的电子邮件不是有效的电子邮件地址
有内置的东西吗?
答案 0 :(得分:6)
messages.properties
grails-app/i18n
个文件
查看此文档 http://grails.org/doc/latest/guide/7.%20Validation.html
要获取所有错误代码,请查看此处http://grails.org/doc/latest/ref/Constraints/email.html。启用右侧的快速导航。每个约束的底部都是用于更改错误消息的属性键。
答案 1 :(得分:1)
还有一个很好的插件叫做:
grails install-plugin i18n-templates
可在此处找到http://www.grails.org/plugin/i18n-templates
e.g。您在'org.example.User'中有一个Domain类,并且您想要指定本地化消息。使用以下命令:
grails generate-i18n-messages org.example.User
这将在控制台中为您生成可能的消息列表。
将此输出复制并粘贴到messages.properties
的英语语言和所有其他message.properties中,以获取要进行本地化的语言。
然后,您只需编辑这些属性文件,以便将页面本地化。 Eclipse / STS有一个很好的GUI,这使得这些属性文件的本地化速度更快。
问候,
扬