【发布时间】:2011-05-04 03:06:10
【问题描述】:
我是 grails 和 groovy 的新手。我有一个带有开始和结束日期的项目域类。我想设置一个约束,指定结束日期需要大于开始日期(然后项目的另一个子对象需要使用父项目的日期验证其开始日期和结束日期)。这是否可能与最小约束或我必须把它放在别处?唯一约束确实允许以这种方式链接两个属性,希望最小/最大约束允许这样做。 我试过了
startDate(blank:false)
endDate(blank:false, min:'startDate')
它会抛出一个错误,提示属性 startDate 在 Project 上不可用
【问题讨论】:
-
我的回答是假设
endDate被定义为java.util.Date。它是否正确?如果没有,请说明它是什么,我会相应地更新我的答案。 -
是的,这是一个常规日期。希望 min 约束也适用于此。感谢您的回答 :) 所以, min 仅适用于整数,对吗?
-
好吧,
min可以很好地应用于Date值。但是,我不相信您可以在min的约束定义中使用动态值(即另一个字段值),因为constraints是静态闭包。不过,您可以使用endDate(min: new Date()),没有任何问题。
标签: grails grails-domain-class grails-validation