1
我的控制器有這個(測試)代碼:的Grails - hasErrors()
println domainInstance.hasErrors()
render (view: "edit", model: [domainInstance: domainInstance])
的println
打印false
到控制檯,但是GSP使用<g:hasErrors>
渲染錯誤。
爲什麼這會發生?
我的控制器有這個(測試)代碼:的Grails - hasErrors()
println domainInstance.hasErrors()
render (view: "edit", model: [domainInstance: domainInstance])
的println
打印false
到控制檯,但是GSP使用<g:hasErrors>
渲染錯誤。
爲什麼這會發生?
如果您顯示GSP代碼,這將有所幫助,但我的猜測是hasErrors()
返回true,因爲您尚未調用validate()
。
0123'方法不會執行驗證,而只是報告上次驗證執行時是否檢測到錯誤。所以我懷疑在致電hasErrors()
之後以及在致電<g:hasErrors>
進行驗證之前的某段時間。
總之,如果你更換呼叫
println domainInstance.hasErrors()
與
println domainInstance.validate()
應該修復它
看來,域實例得到確認在某個地方/在'render'後聲明。所以'hasErrors()'在'domainInstance.validate()'後面調用時返回'true'(如預期的那樣)。 – zoran119