我試圖添加約束到用戶提交的文本字段,這是有出生日期。我需要用戶至少18歲,但不能超過113歲。Grails日期約束
final static Date MIN_DATE = new Date(Calendar.YEAR-18)
final static Date MAX_DATE = new Date(Calendar.YEAR-100)
static constraints = {
dob(nullabe: false, min: MIN_DATE, max: MAX_DATE
}
我,
System.out.println('Year Max Date: ' + person.MAX_DATE)
它給了我,
Year Max Date: Wed Dec 31 17:59:59 CST 1969
也是如此最小日期。
我試着做
final static Date MIN_DATE = new Date().getAt(Calendar.YEAR)-18
,但沒有在所有的工作。我也嘗試過不用-18
,並得到了正確的答案,但它是7個小時了。當我試圖從本地重新啓動應用程序時,它將其崩潰。從那以後,我無法重現它。
我已經瞭解到,它給出的日期是「Epoch」日期或Unix啓動之前的日期。我只是不知道如何解決它。
對這個問題有任何想法/建議/疑慮/經驗? 任何幫助將不勝感激。
其員工使用的應用程序。它只是在那裏捕捉和避免錯別字。但是,這工作得很好。非常感謝。實際上,邏輯上,最小和最大需要切換。我非常感謝幫助! – CoffeePeddlerIntern 2013-02-22 16:36:43