Как добавить ограничения inList в переменную из другого класса?

Мои ограничения inList для переменной в классе стали больше. Мне нужна альтернатива. Один из подходов, который, как мне кажется, может сработать, заключается в создании списка в отдельном классе и вызове его как ограничения inList. Например, вместо

variable(nullable: true, inList:['Yes','N'])

могу ли я сделать что-то вроде

variable(nullable:true, inList:domainClass.list)?

Любые полезные советы будут оценены.


person Sam    schedule 31.03.2020    source источник
comment
Я думаю, вам нужно будет использовать собственный валидатор.   -  person doelleri    schedule 31.03.2020
comment
@doelleri! спасибо за быстрый ответ. Любой пример?   -  person Sam    schedule 31.03.2020
comment
grails.github.io/grails2-doc/2.5. x/ref/Ограничения/   -  person doelleri    schedule 31.03.2020


Ответы (1)


переменная (nullable: true, inList: domainClass.list)

Это будет работать только в том случае, если domainClass является именем класса (поскольку оно начинается со строчной буквы, я ожидаю, что это не так), а list должен быть статическим литералом List. Например:

class SomeClass {
    static final List SOME_VALUES = ['Yes', 'N']
}

Тогда вы можете сделать что-то вроде этого:

variable nullable:true, inList: SomeClass.SOME_VALUES

Надеюсь, это поможет.

person Jeff Scott Brown    schedule 31.03.2020