我正在使用 Grails 1.3.7,并且在多个控制器中有类似的代码:
def myAction = { MyCommand cmd ->
if (cmd.hasErrors()) {
// return bad request
} else {
someService.callSomeMethod(cmd.someId)
...
}
}
class MyCommand {
Long someId
static constraints = {
someId nullable: false
}
}
它在 99.99% 的时间里都能正常工作。但是,在某些情况下,应用程序日志表明调用服务时使用了 null(即 cmd.someId 返回了 null)。但是,这没有意义,因为约束设置为nullable: false
. 感觉就像在那些非常罕见的情况下,grails 忘记调用validate()
命令对象或约束被忽略了。
任何有关此类问题原因的提示将不胜感激。