我希望能够基于域类的另一个字段将约束实现为可选约束。
这样,如果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']
}
})
}
}