我的控制器有这个(测试)代码:
println domainInstance.hasErrors()
render (view: "edit", model: [domainInstance: domainInstance])
println
将false
打印到控制台,但gsp使用<g:hasErrors>
呈现错误。
为什么会这样?
答案 0 :(得分:4)
如果您展示了GSP代码会有所帮助,但我的猜测是hasErrors()
返回true,因为您没有调用validate()
。
hasErrors()
方法不执行验证,只报告上次执行验证时是否检测到错误。所以我怀疑在调用hasErrors()
之后和调用<g:hasErrors>
验证之前的某个时间。
无论如何,如果你将呼叫替换为
println domainInstance.hasErrors()
与
println domainInstance.validate()
应该修复它