我有 2 个域类 Form 和 FormItem。Form 有很多 FormItem。我尝试使用表单中的 3 个项目运行我的 grails 应用程序,并且显然在第一个项目中设置了错误的值之一。单击“提交”后,我收到 2 条错误消息而不是 1 条。这是相同的错误消息“值为 -9 的包的属性编号小于最小值 0”。这是我的问题。Grails 在哪里尝试默认设置错误消息以及为什么 2 个错误而不是一个(这不是我的任务所特有的,我在各种项目中尝试并得到 2 个消息而不是一个)?
以这种方式显示的已编辑 错误。
<g:eachError>
<dt>
<a href=""
onclick="alert('adas'); javascript:document.getElementById('${it.getProperties().get("field")}').focus();
return false;">
<g:message error="${it}"/>
</a>
</dt>
</g:eachError>
//FormController
def submit() {
def formX = mergeGetFromSession()
formX.status = "Stored"
FormX.withTransaction {
if (formX.save(flush: true)) {
formXTaskService.startProcess(formX)
}
}
if (formX.hasErrors()) {
formX.isDocumentEditable = true
render(view: "create", model: [formXInstance: formX])
} else {
session.invalidate()
flash.message = message(code: 'default.created.message', args: [message(code: 'formX.label', default: 'FormX'), formX.id])
redirect(action: "show", id: formX.id)
}
}