Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-cloud-platform/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Grails 修改控制器中嵌入的命令对象的错误消息_Grails - Fatal编程技术网

Grails 修改控制器中嵌入的命令对象的错误消息

Grails 修改控制器中嵌入的命令对象的错误消息,grails,Grails,我正在尝试修改messages.properties文件,以便由控制器中指定的命令对象验证表单输入。我从标准错误消息中得到的输出(我对其进行了轻微修改,以确保命中了该特定错误消息)是: 电子邮件不能为空测试类com.dashboard.RegisterController$DashboardUserRegistrationCommand 但没有com.dashboard.RegisterController$DashboardUserRegistrationCommand.null.messag

我正在尝试修改messages.properties文件,以便由控制器中指定的命令对象验证表单输入。我从标准错误消息中得到的输出(我对其进行了轻微修改,以确保命中了该特定错误消息)是:

电子邮件不能为空测试类com.dashboard.RegisterController$DashboardUserRegistrationCommand

但没有com.dashboard.RegisterController$DashboardUserRegistrationCommand.null.message的变体 工作


我想知道正确的规范应该是什么。

尝试将DashboardUserRegistrationCommand放在RegisterController的外部(下方),但仍在同一文件中。然后com.dashboard.DashboardUserRegistrationCommand..应该可以工作


i、 e.com.dashboard.DashboardUserRegistrationCommand.message.nullable

错误消息的典型布局为:

${packageName}.${className}.${propertyName}.${errorCode}
因此,对于您的示例,它将是:

com.dashboard.DashboardUserRegistrationCommand.message.nullable
在右侧的中,有一个标题为“约束”的标题。在该标题下列出的特定约束的每一页上,
${errorCode}
值列在页面底部


有时您必须重新启动
运行应用程序
,才能在Grails项目中填充新消息。

只是为了将来帮助他人,我也遇到了同样的问题,我的问题是我定义密钥的方式,我现在使用:

对于默认消息: default.null.message=为{0}写入一个值

对于命令和错误消息: my.package.UserCommand.name.nullable=请告诉我们您的姓名

奇怪的是,有时使用nullable,有时使用null。最好是直接查看Grails约束,并检查它是如何完成的,例如: