次のように作成および保存メソッドがあります。
def create () {
def myColorInstance = new Color()
return (colorInstance: myColorInstance]
}
def save () {
Date someDate = params.date("somedate", "MM/dd/yyyy")
int someInt = params.int("someInt")
color = colorService.add(params.colorname, someDate, someInt)
if (color.hasErrors())
render (view: "create", model: [colorInstance: color])
else
redirect (action: "list")
}
私のレイアウトページには次のものがあります。
<g:hasErrors>
<div class="alert alert-error">Please try submitting again</div>
</g:hasErrors>
これで得られる動作は、ユーザーが何かを入力して検証に失敗したときです。メッセージが表示Please try submitting again
され、URL がhttp://localhost:8080/myapp/color/save
次のように変更され、2 回目の送信時に (再び何も入力せずに)、アプリが次のメッセージで失敗します。 java.lang.Integer' 代わりに"
このタイプのシナリオを処理する最良の方法は何ですか? ユーザーにエラーメッセージを一番上に表示してもらいたいのですが、ユーザーはエラーをもう一度修正して、もう一度送信してみるとうまくいくはずです..