首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在Grails中,如何应用来自第三方数据源的inList约束?

在Grails中,如何应用来自第三方数据源的inList约束?
EN

Stack Overflow用户
提问于 2013-04-19 10:10:51
回答 1查看 467关注 0票数 0

假设我有以下模型:

代码语言:javascript
运行
复制
class Product {
    String name
    String price
    String currency

    static constraints = {
        currency inList: ['USD', 'EUR']
}

现在我们有了一个新的要求,必须从服务中拉出currencyinList约束:

代码语言:javascript
运行
复制
class CurrencyService {
    def getAvailableCurrencies = {
        ...
    }
}

我该怎么做呢?我试过了:

代码语言:javascript
运行
复制
class Product {
    def currencyService
    ...

    static constraints = {
        currency inList: currencyService.getAvailableCurrencies()
    }
}

但是我不能在static constraints上下文中访问currencyService实例。我也尝试过使用static currencyService,但同样不起作用。有什么想法吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-04-19 14:26:36

正如上面提到的dmahapatro,您可以使用使用您的服务的custom validator

代码语言:javascript
运行
复制
static constraints = {
    currency validator: { value, obj ->
        if (!(value in obj.currencyService.getAvailableCurrencies())) 
            return ['invalid.currency']
    }
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16096107

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档