0
我有重定向創建和保存方法如下:如何做適當的驗證,並在一個Grails應用
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
,所以現在當他們第二次提交(再次輸入任何內容)時,我的應用失敗並顯示消息:「無法將類'null'強制轉換爲'int'類。嘗試'java.lang.Integer'而不是「
什麼是處理這種情況的最佳方法?我希望用戶看到上面的錯誤消息,他們應該能夠再次糾正錯誤,並嘗試再次提交,它應該工作..
你是對的。這是我的一個愚蠢的錯字錯誤> _ <'render(view:「create」,model:[colorInstance:color])''而不是'render(view:「create」,model:[colorInstnce:color])'錯字! – birdy 2013-03-01 23:42:18