Grails 1.1 验证与国际化 - 规约与 Message 编码

编码它们自己通过规约来规定,例如,考虑早前看到约束:package com.mycompany.myapp class User { ... static constraints = { login(size:5..15, blank:false, unique:true) password(size:5..15, blank:false) email(email:true, blank:false) age(min:18, nullable:false) } }如果 blank约束不合法, Grails将在form中通过规约查找消息编码:[Class Name].[Property Name].[Constraint Code]在这种情况下, blank约束就会是 user.login.blank 因此,你需要在 grailsapp/i18n/messages.properties文件中包含下面这样的消息:user.login.blank=Your login name must be specified!它会查找带package或不带package的类名,带有package的将会优先。

作为示例,com.mycompany.myapp.User.login.blank 将先于 user.login.blank 使用。

当你domain类的消息编码与插件产生冲突时,可以这样使用。

每个规约的编码参考可以参考参考指南 constraints refer to the reference guide for each constraint.