grails inList约束中特定于语言的值

时间:2011-03-12 20:34:50

标签: grails dns constraints

我的应用程序的用户可以从列表中选择一些值。该列表的值位于简单的域类Foo中,如下所示:

class Foo{

    String name

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

对于我的应用使用的每种语言,Foo看起来都是一样的。在另一个类中,我有一个约束,说Bar必须在Foo列表中。有时候用户不知道该选择什么,所以他可能选择“我不确定”之类的东西(所以这个选项应该在列表中以满足inList约束)。事实是,“我不确定”在不同语言中的写法不同。如何根据当前消息将此值附加到inList约束?

2 个答案:

答案 0 :(得分: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")

答案 1 :(得分:0)

我不相信inList约束会在这里帮助你 - 它的设计用于比你更简单的用例。

我会向处理此问题的类getLanguages()添加一个方法,然后由于您似乎对验证感兴趣,请编写自定义验证程序以确保保存正确的值。