Grails域有很多验证

时间:2017-06-12 19:47:55

标签: grails gorm

我有一个案例,即对域属性进行验证,但不对关联的(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
      }
}

1 个答案:

答案 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' 
    }
}