我是grails和groovy的新手。我有一个带有开始和结束日期的项目域类。我想设置一个约束,指定结束日期需要大于开始日期(然后,project的另一个子对象需要用父项目的日期验证其start date和enddate)。在最小约束下,这是可能的,还是我必须把它放在其他地方?唯一约束允许两个属性以这种方式链接,希望最小/最大约束允许这样。 我试过了
startDate(blank:false) endDate(blank:false, min:'startDate')
它抛出一个错误,说明属性startDate在Project上不可用
尝试使用自定义验证程序:
static constraints = { endDate(validator: { val, obj -> val?.after(obj.startDate) }) }
val 是字段的值,并且 obj 目标 ).
val
obj
目标
the documentation . 理想情况下,您需要返回一条自定义消息;如何返回,也可以在上面链接的文档中找到。