Кто-нибудь может показать мне, как объявить ограничение inList
в контроллере Grails?
Допустим, у меня есть этот класс:
class A {
List hello
}
Как я могу добавить ограничение inList
для hello
List
из контроллера?
Кто-нибудь может показать мне, как объявить ограничение inList
в контроллере Grails?
Допустим, у меня есть этот класс:
class A {
List hello
}
Как я могу добавить ограничение inList
для hello
List
из контроллера?
Определить ограничение, в котором свойства List
имеют значения, проверенные по списку списков? Звучит странно. но ты можешь сделать это. С этим классом:
class A {
List hello
static constraint = {
hello inList:[['abc','def','ghi'],[1,2,3],['a','b']]
}
}
вы можете сделать это в своем контроллере:
def instance1 = new A(hello:['abc','def','ghi']).save() //valid
def instance2 = new A(hello:[1,2,3]).save() //valid
def instance3 = new A(hello:['a','b']).save() //valid
def instance4 = new A(hello:['a','b','c']).save() //invalid
def instance5 = new A(hello:[1,2]).save() //invalid
Однако если A
является доменным классом, экземпляры которого сохраняются в традиционной базе данных, свойство hello
будет удалено, поэтому вам нужно будет определить его с помощью
static hasMany = [hello: SomeClass]
вместо.
Вы можете написать собственный валидатор для своих полей, который проверяет, есть ли данные в списке. Вам придется реализовать проверку в списке вручную. Вы можете найти здесь официальную документацию. Есть несколько записей stackoverflow, которые могут помочь вам
Grails: настраиваемый валидатор на основе предыдущего значения поля