Validation 如何编写Grails验证消息?
我有一个简单的域实体:Validation 如何编写Grails验证消息?,validation,grails,error-handling,Validation,Grails,Error Handling,我有一个简单的域实体: package shoesshop class Brand { String name String description String logoImageURL static constraints = { name(blank: false) logoImageURL(nullable: true) } } 当我试图用空值作为名称保存一个新品牌时,我想呈现一条消息,上面写着“必须指定名称
package shoesshop
class Brand {
String name
String description
String logoImageURL
static constraints = {
name(blank: false)
logoImageURL(nullable: true)
}
}
当我试图用空值作为名称保存一个新品牌时,我想呈现一条消息,上面写着“必须指定名称”
我试图向消息添加属性。属性:
brand.name.nullable=Brand name must be specified
但它不是自动拾取的。我应该如何从那里取回它?
我查看了brand.errors
,它只包含一条默认消息
类[{1}]的属性[{0}]不能为空
它还包含一组错误代码,其中一个是brand.name.nullable
您尝试过吗?:
if(brand.name==null)
{
flash.message = message(code: 'brand.name.nullable',default:'Brand name must be specified.');
render(view: "create", model: [brand:brand])
return
}
您可以尝试将“default.null.message”的消息(不知道整个应用程序将如何执行)更改为
你试过了吗
if(brand.name==null)
{
flash.message = message(code: 'brand.name.nullable',default:'Brand name must be specified.');
render(view: "create", model: [brand:brand])
return
}
您可以尝试将“default.null.message”的消息(不知道整个应用程序将如何执行)更改为
我感到奇怪的是,当您没有可为null的约束时,会显示可为null的错误消息。在“空白”和“可空”字段中,它清楚地显示了nullable
与blank
不同,并且有单独的消息
试一试
我似乎还必须添加.error
,才能使事情正常运行:
brand.name.blank.error or brand.name.nullable.error
我感到奇怪的是,当您没有可为null的约束时,会显示可为null的错误消息。在“空白”和“可空”字段中,它清楚地显示了nullable
与blank
不同,并且有单独的消息
试一试
我似乎还必须添加.error
,才能使事情正常运行:
brand.name.blank.error or brand.name.nullable.error
我正在使用Grails2.2.3。对我来说,当我使用
brands.name.blank=The name cannot be empty
现在,如果在收到此错误后刷新页面“../appname/controllername/save”,则
Property [name] of class [class ...] cannot be null
此消息可以使用更改
brands.name.nullable=The name cannot be null (do not refresh the page!!!)
我正在使用Grails2.2.3。对我来说,当我使用
brands.name.blank=The name cannot be empty
现在,如果在收到此错误后刷新页面“../appname/controllername/save”,则
Property [name] of class [class ...] cannot be null
此消息可以使用更改
brands.name.nullable=The name cannot be null (do not refresh the page!!!)
这是因为当用户从Web上提交时,“名称”将是一个空字符串而不是NULL。这就是我所说的,当用户提交一个空白字段时,他不会像他那样得到空白错误消息。他得到的是可空的消息,这是因为当用户从Web上提交时,“名称”将是一个空字符串而不是NULL。这就是我所说的,当用户提交空白字段时,他不会像他那样得到空白错误消息。他收到了一条可取消的消息。