0

我有一个类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

4

0 回答 0