在Grails中,如何从第三方数据源应用inList约束?
假设我有以下模型:在Grails中,如何从第三方数据源应用inList约束?,grails,Grails,假设我有以下模型: class Product { String name String price String currency static constraints = { currency inList: ['USD', 'EUR'] } 现在,我们有一个新的要求,即必须从服务中提取inList对currency的约束: class CurrencyService { def getAvailableCurrencies = {
class Product {
String name
String price
String currency
static constraints = {
currency inList: ['USD', 'EUR']
}
现在,我们有一个新的要求,即必须从服务中提取inList
对currency
的约束:
class CurrencyService {
def getAvailableCurrencies = {
...
}
}
我该怎么做?我试过:
class Product {
def currencyService
...
static constraints = {
currency inList: currencyService.getAvailableCurrencies()
}
}
但是我无法访问
静态约束
上下文中的currencyService
实例。我还尝试使用了静态currencyService
,但这同样不起作用。有什么想法吗?如上所述,您可以使用使用您的服务的:
static constraints = {
currency validator: { value, obj ->
if (!(value in obj.currencyService.getAvailableCurrencies()))
return ['invalid.currency']
}
}
这可以提供一些指导