Grails在服务器端设置默认错误的位置

时间:2012-04-18 08:53:32

标签: spring grails

我有2个域类Form和FormItem。表单有很多FormItems。我试图用表格中的3个项目运行我的grails应用程序,显然在第一个项目中设置了错误值我的一个字段。点击“提交”后,我收到了2条错误消息,而不是一封。它是相同的错误消息“具有值-9的包的属性编号小于最小值0”。这是我的问题。 格雷尔斯在哪里尝试默认设置错误消息,为什么2错误而不是一个错误(这不是我的任务特定,我尝试各种项目并获得2条消息而不是一条消息)?

EDITED 以这种方式显示的错误。

<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)
        }
    }

1 个答案:

答案 0 :(得分:0)

它存储在grails-app/i18n/messages.properties

另见http://grails.org/doc/latest/guide/validation.html#validationAndInternationalization