在下面的代码中,validate()返回false但我没有看到任何错误.由于验证方法失败,数据不会持久存储到数据库中.
if (!stockInstance.validate() && stockInstance.save(flush: true))
//redirect(action: "show", id: saleInstance.id)
} else {
println 'stock instance has errors'
stockInstance.errors.each {
println it
}
render(view: "edit", model: [saleInstance: saleInstance])
}
Run Code Online (Sandbox Code Playgroud)
这是打印
stock instance has errors
org.springframework.validation.BeanPropertyBindingResult: 0 errors
Run Code Online (Sandbox Code Playgroud)
那么错误在哪里呢?
抱歉,没有正确观看数据,这是正确的持续存在.
你有,!stockInstance.validate()但它应该是stockInstance.validate().
!stockInstance.validate() && stockInstance.save(flush: true)因为save()呼叫validate()变得如此,所以永远不会是真的!stockInstance.validate() && stockInstance.validate()
save()由于validate()调用返回后调用没有发生true(因此第一次检查为false),因此它不会持久存在.
因为save()电话validate()我不知道为什么你有额外的电话.
| 归档时间: |
|
| 查看次数: |
2114 次 |
| 最近记录: |