我最近将1.3.6应用程序升级到了Grails2。我的测试用例开始失败
这是场景,我有一个命令对象和一个约束。当请求到达操作时,不带参数name
(localhost:8080/app-name/Book/test?i=0
)
我收到验证错误。 Grails博士说,“命令对象”字段默认情况下可以为空。从这次测试看来,事实并非如此。我的问题是如何使所有命令对象的全局值都可为空?下面的代码
class BookController {
def test = {TestCommand cmd ->
cmd.validate()
if (cmd.hasErrors()) {
println "has Errors"
render 'Error'
} else {
println "Success"
render 'Hello World'
}
}
}
命令对象是:
class TestCommand {
int i;
String name
static constraints = {
name(password: true)
}
}
最佳答案
原来是Grails的错误。 Grails 2.0更改了有关命令对象的默认可为空值的行为。这是JIRA