【问题标题】:Language-specific value in grails inList constraintgrails inList 约束中的语言特定值
【发布时间】:2011-03-13 23:01:57
【问题描述】:

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

class Foo{

    String name

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

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

【问题讨论】:

    标签: grails dns constraints


    【解决方案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")
    

    【讨论】:

      【解决方案2】:

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

      我会在类 getLanguages() 中添加一个方法来处理这个问题,然后因为您似乎对验证感兴趣,所以编写一个自定义验证器以确保保存正确的值。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-01-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多