我有一个带有嵌入对象的grails域类,我想在更新时验证嵌入对象的属性。
我知道我可以使用自定义验证程序在普通的grails域类上执行此操作,并检查域的类ID是否为null。 我不能这样做是因为嵌入式对象缺少id。
我想做的事情有一个小例子。
//This is on domain/somePackage/A.groovy
class A{
B embeddedObject
static embedded = ['embeddedObject']
static constraints = {
embeddedObject.attribute validator:{val, obj-> //The app fails to start when this code is added!!
if(obj.id && !val) //if the id is not null it means the object it's updating...
return 'some.error.code'
}
}
}
//this class is on src/groovy/somePackage/B.groovy
class B{
String attribute
static constraints={
attribute validator:{val,obj->
if(obj.id && !val) //This will fail too! because the lack of an id on this object....
return 'some.error.code'
}
}
}
有没有办法在嵌入对象上获取'父'的id? 任何帮助将不胜感激
答案 0 :(得分:2)
class A{
B embeddedObject
static embedded = ['embeddedObject']
static constraints = {
embeddedObject validator:{ val, obj ->
if( obj.id && !val.attribute )
return 'some.error.code'
}
}
}