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