我有一个类Report通过将其添加到grails.validateable.classesConfig.groovy 的属性中进行验证:
class Report {
/* fields */
Product product
static constraints = {
product nullable: true, validator: { val ->
if(val && val.quantity > 0) {
return (val.code && val.locations.size() > 0)
}
}
}
}
class Product {
BigDecimal quantity
String code
List<Location> locations
}
有了这个,我尝试Report通过调用来验证 areport.validate()但是validate总是返回 true。我尝试制作自定义验证器:
...
product validator: { val ->
return false
}
所以调用validateaReport总是返回 false 但它仍然返回 true 使实例有效。据我所知,在调用 Validateable 时不会调用类上的自定义验证器validate。
这是一个已知的错误?如果是的话,我在任何地方都找不到参考。我不能对可验证的类使用自定义验证器吗?还是我的代码有问题?
编辑:修正错字。应该grails.validateable.classes代替grails.validateable.class