我有一个类Report
通过将其添加到grails.validateable.classes
Config.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
}
所以调用validate
aReport
总是返回 false 但它仍然返回 true 使实例有效。据我所知,在调用 Validateable 时不会调用类上的自定义验证器validate
。
这是一个已知的错误?如果是的话,我在任何地方都找不到参考。我不能对可验证的类使用自定义验证器吗?还是我的代码有问题?
编辑:修正错字。应该grails.validateable.classes
代替grails.validateable.class