自定义验证失败
问题描述:
在我的Grails应用程序3.1.11我有一个域类自定义验证失败
class Ability {
String valueTypeName
static constraints = {
valueTypeName validator:{ val, obj, errors ->
println val
errors.rejectValue 'valueTypeName', 'err'
return 'default.invalid.validator.message'
}
}
}
和脚手架控制器&观点:
class AbilityController {
static scaffold = Ability
}
保存时/更新,我可以看到的println输出控制台,但该对象从未被拒绝......我试图返回false,但它仍然是一样的。 明确拒绝该值有助于通过插入。
我缺少什么?
答
这是脚手架中的一个错误。请参阅https://github.com/grails3-plugins/scaffolding/issues/24
请注意,验证不会失败。验证工作。更新确实没有发送到数据库。问题是脚手架显示一个观点,表明更新已经完成,但事实并非如此。
+0
所以,你的意思是,如果我做'grails generate-all Ability',它应该没问题? – injecteer
+0
我相信这是正确的。我不认为生成的控制器具有与动态控制器相同的错误。 –
你为什么要调用'rejectValue'? –
我想确保没有任何工作。 – injecteer