0

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

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

4

1 回答 1

0

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

class MyClass {
    boolean importMode
    String company

    static constraints = {
        company(validator: { val, obj ->
            if(!obj.importMode && !val) {
              return['myClass.company.required']
            }
        })
    }
}
于 2014-11-28T17:49:13.857 回答