Grails域类字段由其他字段决定的可空验证器

时间:2013-11-19 03:59:33

标签: grails grails-2.0 grails-domain-class

例如,我有一个名为:

的域类
class Employee {
     boolean belongToDepartment
     Department department

     static constraints = {
          department ????
     }
}

我想为部门编写验证器,如果字段belongsToDepartment为true,则department不为null,否则department可以为null。

我不确定这是否有意义?

1 个答案:

答案 0 :(得分:4)

您可以在department上使用自定义验证程序来检查域对象上的布尔标志是否为true且部门值是否为空。在这种情况下,它是约束失败,您可以根据需要返回false或错误代码。

static constraints = {
      department nullable: true, validator: {dep, obj ->
          return !(obj.belongToDepartment && !dep)
      }
 }