2009-10-29 30 views
0

更新過程中驗證域類領域有域類與自然鍵定義如下如何在Grails的

class InterestGroup { 
String intGrp 
String name 

static constraints = { 
    intGrp(blank: false, maxSize: 4, unique: true) 
    name(blank: false, minSize: 10, maxSize: 50) 
} 

static mapping = { 
    id generator: "assigned", name: "intGrp", type: 'string' 
} 

String toString() { "${intGrp}"} 
} 

我嘗試修改標準的腳手架,使name字段可能發生的變化。 在標準代碼中調用了save()方法,它檢查所有字段,當然由於存在具有相同鍵的記錄,記錄無法更新。當我只是分配字段值

interestGroupInstance.name = params?.name 

名稱更新,但未檢查域類constants。 使用基於自然鍵的表來實現CRUD操作的最佳方式是什麼? 致以問候 Krzysiek

回答

0

我不認爲我理解你。你想做什麼?你正在嘗試更新你的組的名稱,它似乎沒有做任何驗證?

參考文件建立說:「方法通知持久化上下文的實例應該被保存或更新保存的保存,如果驗證失敗和實例未保存,如果實例本身成功的方法返回null。 「。所以當你調用你的域類對象的保存方法時,它應該調用驗證方法。

請您發表一個例子嗎?