Grails在服务器端设置默认错误
问题描述:
我有2个域类Form和FormItem。 Form有很多FormItems。我试图用表单中的3个项目运行我的Grails应用程序,并且显然在第一项中设置了错误的值作为我的字段之一。点击“提交”后,我收到2条错误消息,而不是1条。这是相同的错误消息“属性值为-9的包的数量小于最小值0”。这是我的问题。 Grails在默认情况下试图设置错误消息,为什么2错误而不是1(这不是我的任务的特定情况,我尝试在各种项目中获得2条消息而不是1条消息)?Grails在服务器端设置默认错误
编辑 以这种方式显示的错误。
<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)
}
}
答
它存储在grails-app/i18n/messages.properties
也http://grails.org/doc/latest/guide/validation.html#validationAndInternationalization
看到/你是如何展示你的错误? – 2012-04-18 09:35:59