[英]Grails min constraint for date validation
我是grails和groovy的新手。 我有一個具有開始和結束日期的Project域類。 我想提出一個約束,指定結束日期需要大於開始日期(然后項目的另一個子對象需要讓其startdate和enddate與父項目的日期一起驗證)。 這可能是最小約束還是我必須把它放在其他地方? 唯一約束允許以這種方式鏈接兩個屬性,希望min / max約束允許這樣做。 我試過了
startDate(blank:false)
endDate(blank:false, min:'startDate')
它會拋出一個錯誤,指出屬性startDate在Project上不可用
嘗試使用自定義驗證器:
static constraints = {
endDate(validator: { val, obj ->
val?.after(obj.startDate)
})
}
val
是字段的值, obj
是對要驗證的對象的引用。 閉包可以包含您需要的任何邏輯,因此您可以按照您在問題中描述的方式擴展驗證(通過訪問您使用obj
引用的子對象)。
自定義驗證器非常靈活。 看看文檔 。 理想情況下,您需要返回自定義消息; 如何做到這一點也可以在上面鏈接的文檔中找到。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.