我的应用程序的用户可以从列表中选择一些值。该列表的值位于简单的域类Foo中,如下所示:
class Foo{
String name
static mapping = {
id name: 'name', generator: 'assigned'
version: false
}
}
对于我的应用使用的每种语言,Foo看起来都是一样的。在另一个类中,我有一个约束,说Bar必须在Foo列表中。有时候用户不知道该选择什么,所以他可能选择“我不确定”之类的东西(所以这个选项应该在列表中以满足inList约束)。事实是,“我不确定”在不同语言中的写法不同。如何根据当前消息将此值附加到inList约束?
答案 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()添加一个方法,然后由于您似乎对验证感兴趣,请编写自定义验证程序以确保保存正确的值。