Grails域有许多验证

Grails域有许多验证,grails,gorm,Grails,Gorm,我有一个案例,验证是在域属性上完成的,而不是在关联的(hasMany)属性上完成的 我是否可以添加任何配置来启用这两个属性(域和hasMany)的验证 grails版本:3.1.14 Example: class Person { String name; static hasMany = [location: Location] static constraints = { name nullable: true } } cl

我有一个案例,验证是在域属性上完成的,而不是在关联的(hasMany)属性上完成的

我是否可以添加任何配置来启用这两个属性(域和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
      }
}

根据文档,验证应适用于多个关联,如您所愿:

但在我的测试中,它不起作用

另一种解决方案是使用约束:

static constraints = {
    name nullable: true
    location validator: {val, obj ->
        val.every { it.validate() } ?: 'invalid' 
    }
}

您使用的是什么版本的Grails?在你的问题中包含这一点会很有帮助。grails 3.1.14文章也经过了编辑。你需要类似于这里描述的建议:非常感谢,我尝试了一些接近你建议的方法,在持久性侦听器级别调用“hasMany”验证器。