例如,我有一个名为:
的域类class Employee {
boolean belongToDepartment
Department department
static constraints = {
department ????
}
}
我想为部门编写验证器,如果字段belongsToDepartment为true,则department不为null,否则department可以为null。
我不确定这是否有意义?
答案 0 :(得分:4)
您可以在department
上使用自定义验证程序来检查域对象上的布尔标志是否为true且部门值是否为空。在这种情况下,它是约束失败,您可以根据需要返回false或错误代码。
static constraints = {
department nullable: true, validator: {dep, obj ->
return !(obj.belongToDepartment && !dep)
}
}