我有一个案例,即对域属性进行验证,但不对关联的(hasMany)属性进行验证。
我是否可以添加任何配置以启用两个属性(domain和hasMany)的验证。
grails版本:3.1.14
Example:
class Person {
String name;
static hasMany = [location: Location]
static constraints = {
name nullable: true
}
}
class Location {
String address
String city
State state
String zip
static constraints = {
address nullable: true
}
}
答案 0 :(得分:1)
根据文档,验证应该适用于许多关联:http://docs.grails.org/3.1.14/ref/Domain%20Classes/validate.html
但是在我的测试中它不起作用。
另一种解决方案是使用约束:
static constraints = {
name nullable: true
location validator: {val, obj ->
val.every { it.validate() } ?: 'invalid'
}
}