2014-12-04 58 views
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' 
    }) 
    } 
    ... 
} 

記住上面是把我的頭頂部(我有一個頭冷),但它應該指向您在正確的方向。