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



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

这样,如果importMode为 true,则不再需要 company 字段,但如果导入模式为 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中,是否可以像这样从自定义约束闭包中调用内置约束?

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

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

最新更新