代码之家  ›  专栏  ›  技术社区  ›  Ravindra Sane

日期验证的Grails最小约束

  •  9
  • Ravindra Sane  · 技术社区  · 15 年前

    我是grails和groovy的新手。我有一个带有开始和结束日期的项目域类。我想设置一个约束,指定结束日期需要大于开始日期(然后,project的另一个子对象需要用父项目的日期验证其start date和enddate)。在最小约束下,这是可能的,还是我必须把它放在其他地方?唯一约束允许两个属性以这种方式链接,希望最小/最大约束允许这样。 我试过了

    startDate(blank:false)
    endDate(blank:false, min:'startDate')
    

    它抛出一个错误,说明属性startDate在Project上不可用

    1 回复  |  直到 15 年前
        1
  •  15
  •   Rob Hruska MegalomanINA    15 年前

    尝试使用自定义验证程序:

    static constraints = {
        endDate(validator: { val, obj ->
            val?.after(obj.startDate)
        })
    }
    

    val 是字段的值,并且 obj 目标 ).

    the documentation . 理想情况下,您需要返回一条自定义消息;如何返回,也可以在上面链接的文档中找到。

    推荐文章