假设我有以下模型:
class Product {
String name
String price
String currency
static constraints = {
currency inList: ['USD', 'EUR']
}现在我们有了一个新的要求,必须从服务中拉出currency的inList约束:
class CurrencyService {
def getAvailableCurrencies = {
...
}
}我该怎么做呢?我试过了:
class Product {
def currencyService
...
static constraints = {
currency inList: currencyService.getAvailableCurrencies()
}
}但是我不能在static constraints上下文中访问currencyService实例。我也尝试过使用static currencyService,但同样不起作用。有什么想法吗?
发布于 2013-04-19 14:26:36
正如上面提到的dmahapatro,您可以使用使用您的服务的custom validator:
static constraints = {
currency validator: { value, obj ->
if (!(value in obj.currencyService.getAvailableCurrencies()))
return ['invalid.currency']
}
}https://stackoverflow.com/questions/16096107
复制相似问题