编码它们自己通过规约来规定,例如,考虑早前看到约束: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.