Grails验证依赖于其他属性

时间:2011-05-06 21:01:56

标签: grails grails-validation

用grails做这样的事情的正确方法是什么:

class myDomainThing {
  String description
  MyOtherDomainThing otherThing

  static constraints = {
    description(nullable:if(otherThing))
    otherThing(nullable:if(description))
  }
}

所以我想要有一个指向otherDomainThing的链接,或者我想要一个字符串描述。

2 个答案:

答案 0 :(得分:2)

您必须使用Grails自定义验证 validator

static constraints = {
  description(validator: {
        return otherThing and !description
    })
}

答案 1 :(得分:0)

您需要使用自定义验证器

static constraints = {
  description validator: { val, obj -> 
     if(otherthing && val) {
         false
     }
     else {
       true
     }
  }
}

显然在otherthing

附近存在一些伪代码