是否存在可以验证域对象中的关系的约束?
例如,如果您有一个包含Participants和Organization的Meeting对象。有没有办法让会议包含参与者是组织对象成员的约束?
答案 0 :(得分:2)
除了您可以编写自己的约束类型之外,您还可以使用validator编写自己的验证例程。 Grails documentation涵盖了很多细节,但一个简单的例子是:
class Meeting {
static belongsTo = [org: Orginization]
static hasMany = [partcipants: Person]
...
static constraints {
org(validator: {val, obj ->
if (obj.partcipants.find{ it.org.id != val.id }) return 'some.message.code'
})
}
...
}
请记住,上面是我的头顶(我头冷),但它应该指向正确的方向。