我希望能够根据域类的另一个字段将约束实现为可选。
这样,如果importMode
为true,则不再需要company字段,但是如果import mode为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']
}
})
}
}
关于grails - Grails-从自定义验证程序闭包中调用内置约束,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27192382/