Grails: пользовательское ограничение для класса, сделанное Validateable, не работает

У меня есть класс 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, вызвав report.validate(), однако validate всегда возвращает true. Я попытался сделать собственный валидатор:

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

так что вызов validate для Report всегда возвращает false, но по-прежнему возвращает true, что делает экземпляр действительным. Насколько я могу судить, пользовательские валидаторы для классов, сделанных Validateable, не вызываются при вызове validate.

Это известная ошибка? Я нигде не могу найти ссылку, если она есть. Могу ли я использовать пользовательские валидаторы для классов, которые сделаны Validateable? Или что-то не так с моим кодом?

Изменить: исправлена ​​опечатка. Должно быть grails.validateable.classes вместо grails.validateable.class


person sham    schedule 24.01.2013    source источник
comment
В вашем вопросе о grails.validateable.class (пропущено es) есть опечатка? В Config.groovy это что-то вроде grails.validateable.classes = [com.mycompany.myapp.User, com.mycompany.dto.Account].   -  person coderLMN    schedule 24.01.2013
comment
Да. Это опечатка. Прости за это.   -  person sham    schedule 24.01.2013
comment
посмотрите, если stackoverflow.com/questions/14235304/ помогает.   -  person coderLMN    schedule 24.01.2013
comment
Не повезло со связанным ответом. :(   -  person sham    schedule 28.01.2013