我希望能够根据域类的其他字段将约束实现为可选。
这样,如果importMode
为真,则不再需要公司字段,但如果导入模式为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是否可以从这样的自定义约束闭包中调用内置约束?
答案 0 :(得分:0)
您必须定义自定义约束,而不是使用默认的可空或空白约束
class MyClass {
boolean importMode
String company
static constraints = {
company(validator: { val, obj ->
if(!obj.importMode && !val) {
return['myClass.company.required']
}
})
}
}