我正在尝试为我的域类中的变量“数量”创建一个自定义验证器,这样新值应该比以前的值大 0.50。
例如,假设之前的值为 1.0,下次该值应至少为:[previous value + 0.50] 或更多。
在此先感谢您的帮助
我正在尝试为我的域类中的变量“数量”创建一个自定义验证器,这样新值应该比以前的值大 0.50。
例如,假设之前的值为 1.0,下次该值应至少为:[previous value + 0.50] 或更多。
在此先感谢您的帮助
你可以试试看书domainEntity.getPersistentValue('amount')
。
编辑: ...在自定义验证器中,例如:
class Bid {
Double amount
...
static constraints = { amount(validator: { double a, Bid b ->
def oldValue = b.getPersistentValue('amount')
a > oldValue + 0.5 ? true : "Amount $a should be at least ${oldValue + 0.5}" })
}
}
谢谢 Victor Sergienko,但我对你的代码做了一些修改
class Bid {
Double amount
...
static constraints = { amount(validator: { double a, Bid b ->
Bid tempBid = Bid.get(b.id)
def oldValue = tempBid.getPersistentValue('amount')
a > oldValue + 0.5 ? true : "Amount $a should be at least ${oldValue + 0.5}" })
}
}
不同之处在于这一行:
Bid tempBid = Bid.get(b.id)
def oldValue = tempBid.getPersistentValue('amount')
我不为什么b.getPersistentValue('amount')
总是返回空值,我的 grails 版本是 2.4.3