Grails-从自定义验证器闭包调用内置约束

Grails-从自定义验证器闭包调用内置约束,grails,grails-domain-class,grails-validation,Grails,Grails Domain Class,Grails Validation,我希望能够基于域类的另一个字段将约束实现为可选的 这样,如果importMode为true,则不再需要公司字段,但如果导入模式为false,则调用company(blank:false)提供的默认功能 class MyClass { boolean importMode String company static constraints = { company(validator: { val, obj -> if(obj.

我希望能够基于域类的另一个字段将约束实现为可选的

这样,如果
importMode
为true,则不再需要公司字段,但如果导入模式为false,则调用
company(blank:false)
提供的默认功能

class MyClass {
    boolean importMode
    String company

    static constraints = {
        company(validator: { val, obj ->
            if(obj.importMode) {
                // return default blank:false functionality
            }
            return true // else pass
        }
    }
}

在Grails中是否可以像这样从自定义约束闭包调用内置约束?

您必须定义自定义约束,而不是使用默认的可为null或空白约束

class MyClass {
    boolean importMode
    String company

    static constraints = {
        company(validator: { val, obj ->
            if(!obj.importMode && !val) {
              return['myClass.company.required']
            }
        })
    }
}