Groovy Grails 教程 国际化多语言配置方法教程【Grails中文教程】
grails框架国际化配置很简单,在创建工程项目时所有的properties文件已经自动生成
国际化配置文件在grails-app/i18n目录下的message.properties文件中,
默认消息提示类型都是通用的,我们可以定制自己为每个字段设置自定义的错误消息
错误消息定义规范,
完整的包名+类名+特点的消息验证(注意大小写)
如中文配置文件messages_zh_CN.properties写法:
org.test.User.userName.blank=用户名不能为空 org.test.User.password.blank=密码不能为空 org.test.User.sex.nullable=请选择性别 org.test.User.sex.not.inList=请选择性别 org.test.User.age.min.notmet=年龄不能小于10岁,范围在10-100之间
下面列出说有可用的验证错误信息:
约束 | 包名+类名+字段 |
---|---|
blank, | packageName.ClassName.propertyName.blank |
nullable | packageName.ClassName.propertyName.nullable |
creditCard | packageName.ClassName.propertyName.creditCard.invalid |
display | N/A |
packageName.ClassName.propertyName.email.invalid | |
password | packageName.ClassName.propertyName.password.invalid |
inList | packageName.ClassName.propertyName.not.inList |
matches | packageName.ClassName.propertyName.matches.invalid |
min, | packageName.ClassName.propertyName.min.notmet |
max | packageName.ClassName.propertyName.max.exceeded |
minSize, | packageName.ClassName.propertyName.minSize.notmet |
maxSize | packageName.ClassName.propertyName.maxSize.exceeded |
size | packageName.ClassName.propertyName.size.toosmall packageName.ClassName.propertyName.size.toobig |
notEqual | packageName.ClassName.propertyName.notEqual |
range | packageName.ClassName.propertyName.range.toosmall packageName.ClassName.propertyName.range.toobig |
scale | N/A |
unique | packageName.ClassName.propertyName.unique |
url | packageName.ClassName.propertyName.url.invalid |
validator | packageName.ClassName.propertyName.validator.invalid |
grails的验证错误消息定义规则
完整实例:
创建User实体类
package org.test class User { String userName String password int age String sex Date birthday Date dateCreated Date lastUpdated5 static constraints = { //排序 //添加校验 userName(blank:false,maxSize:50) password(blank:false,password:true) birthday() sex(inList:["F","M"]) age(min:10,max:100) } def beforeInsert = { password = password.encodeAsSHA1() } }
创建UserController控制类
package org.test class UserController { def scaffold = true //属性提供了增删改查CRUD全部功能 def index() { } }
在grails-app/i18n/messages_zh_CN.properties文件末尾中添加如下:
org.test.User.userName.blank=用户名不能为空 org.test.User.password.blank=密码不能为空 org.test.User.sex.nullable=请选择性别 org.test.User.sex.not.inList=请选择性别 org.test.User.age.min.notmet=年龄不能小于10岁,范围在10-100之间
运行项目 grails run-app
访问URL:http://localhost:8080/userDemo/user/create 结果如下图:
来源://作者:admin/更新时间:2013-11-19
顶
踩
相关文章: