0
我試圖設置使用jQuery Datepicker的人的出生日期。但是,我所得到的是Property dateOfBirth must be a valid Date
。Grails - 域對象無法正確驗證
因此,原來,我的控制器看起來是這樣的:
def update(Person personInstance) {
if (personInstance == null) {
// do Something
return
}
if (personInstance.hasErrors()) {
respond personInstance.errors, view: 'edit'
return
}
// do the rest
}
我想通了,這與jQuery我應該以產生一個適當的Date
對象使用SimpleDateFormat
對象。儘管如此,即使我直接將一個新的Date
對象分配給dateOfBirth
並隨後驗證了域對象,如下面的代碼段所示 - 我仍然收到Property dateOfBirth must be a valid Date
錯誤。
def update(Person personInstance) {
if (personInstance == null) {
// do Something
return
}
// added code
personInstance.dateOfBirth = new Date()
personInstance.validate()
// added code
if (personInstance.hasErrors()) {
respond personInstance.errors, view: 'edit'
return
}
// do the rest
}
謝謝你的任何幫助:)
您仍然看到錯誤的原因是因爲在綁定您的命令/域對象後自動調用驗證。在手動調用'personInstance.validate()'之前使用'personInstance.clearErrors()'。你可以在文檔中看到更多關於這個的內容:http://grails.org/doc/2.2.x/ref/Domain%20Classes/clearErrors.html – 2014-09-01 08:27:14
謝謝你的提示:)現在它完美的工作! – gabriel 2014-09-01 08:48:56
我應該添加一個答案嗎? – 2014-09-01 09:06:33