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

标签 grails grails-2.0 grails-domain-class

例如,我有一个名为的域类:

class Employee {
     boolean belongToDepartment
     Department department

     static constraints = {
          department ????
     }
}

我想为部门写一个验证器,如果该字段的belongToDepartment为true,部门不为空,否则部门可以为空。

我不确定这是否有意义?

最佳答案

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

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

关于grails - Grails域类字段可为空的验证器,由其他字段决定,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20062910/

相关文章:

grails - 向List的元素添加约束

grails - 具有显式jruby依赖关系的AsciidoctorJ导致IncompatibleClassChangeError

Grails 'java.lang.instrument ASSERTION FAILED' 错误

Grails:如何为多列创建命名的唯一约束?

grails - 覆盖DomainClass

grails - 如何从 Bootstrap 显示 grails 错误

grails - 如何在GSP页面中以不同的样式显示不同的flash.message

grails - 使用Spring Security插件强制注销已认证的用户

域类中的 Grails springSecurityService 注入(inject)(NULL)

multithreading - Groovy 中的线程数限制