2011-03-12 73 views
0

我的應用程序的用戶可以從列表中選擇一些值。該列表中的值是簡單的域類,美孚,它看起來像:grails中的語言特定值inList約束

class Foo{ 

    String name 

    static mapping = { 
     id name: 'name', generator: 'assigned' 
     version: false 
    } 
} 

富查找我的應用程序使用的每一種語言相同。在另一個班級,我有一個約束,說Bar必須在Foo列表中。有時候用戶不知道該選什麼,所以他可能會選擇類似「我不確定」的東西(所以這個選項應該在list中以符合inList約束)。事情是,「我不確定」是用不同的語言寫成的。我如何根據當前消息將這個值附加到inList約束?

回答

0

我不相信INLIST約束將幫助你在這裏 - 它被設計爲一個簡單的使用情況比你。

我想在類getLanguages()中添加一個方法來處理這個問題,然後因爲您似乎對驗證感興趣,請編寫一個自定義驗證器以確保保存正確的值。

1

在你的控制器,你可以這樣做:

def theList = foo.list().name // Get any array of strings. 
           // If you actually need > 1 field then you probably need to 
           // put the g.message below in a map 

theList << g.message(code:"im.not.sure")