0

我正在尝试使用 jQuery Datepicker 设置一个人的出生日期。但是,我得到的只是Property dateOfBirth must be a valid Date.

所以,最初,我的控制器看起来像这样:

def update(Person personInstance) {
    if (personInstance == null) {
        // do Something
        return
    }

    if (personInstance.hasErrors()) {
        respond personInstance.errors, view: 'edit'
        return
    }

    // do the rest
}

我发现,使用 jQuery 我应该使用一个SimpleDateFormat对象来生成一个合适的Date对象。尽管如此,即使我直接分配一个新Date对象dateOfBirth并随后验证personInstance域对象 - 就像在下面的代码段中一样 - 我仍然会收到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
}

感谢您的任何帮助 :)

4

1 回答 1

1

您仍然看到错误的原因是因为在调用方法时绑定您的命令/域对象后会自动调用验证。

personInstance.clearErrors()在手动调用之前使用personInstance.validate()以清除任何现有的绑定/验证错误。您可以在文档中查看更多相关信息。

于 2014-09-01T17:06:51.117 回答