0

Form と FormItem の 2 つのドメイン クラスがあります。フォームには多数の FormItem があります。フォームに 3 つの項目を指定して grails アプリケーションを実行しようとしましたが、最初の項目のフィールドの 1 つに明らかに間違った値を設定しました。[送信] をクリックした後、1 つではなく 2 つのエラー メッセージを受け取りました。同じエラー メッセージ「値が -9 のパッケージのプロパティ番号が最小値 0 未満です」です。これが私の質問です。Grails はデフォルトでエラー メッセージを設定しようとしていますが、なぜ 1 つではなく 2 つのエラーが発生するのですか (これは私のタスクに固有のものではありません。さまざまなプロジェクトで試してみたところ、1 つではなく 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)
        }
    }
4

1 に答える 1

0

に保存されていますgrails-app/i18n/messages.properties

http://grails.org/doc/latest/guide/validation.html#validationAndInternationalizationも参照してください。

于 2012-04-18T10:42:01.930 に答える