Groovy Grails 教程 国际化多语言配置方法教程【Grails中文教程】


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
email 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 结果如下图:

猜你喜欢

转载自blog.csdn.net/qq_28562059/article/details/52609824