Grails:类的自定义约束使Validateable不起作用

时间:2013-01-24 06:00:10

标签: validation grails

我通过将其添加到Config.groovy的Report属性来使grails.validateable.classes成为可验证的类:

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来验证report.validate(),但validate始终返回true。我尝试制作自定义验证器:

...
product validator: { val ->
    return false
}

所以在validate上调用Report总是返回false,但它仍然返回true,使实例有效。据我所知,调用validate时不调用类Validateable的自定义验证器。

这是一个已知的错误吗?如果是的话,我无法在任何地方找到参考。我不能对可验证的类使用自定义验证器吗?或者我的代码出了什么问题?

修改:修正了拼写错误。应该是grails.validateable.classes而不是grails.validateable.class

0 个答案:

没有答案