Дата свойства должна быть допустимой ошибкой даты при использовании плагина пользовательского интерфейса jquery

У меня есть tasks класс, который имеет date поле. В моем файле просмотра у меня есть эта строка кода:

<g:textField name="date" value="${tasksInstance?.date}" id="datePicker" />

И используя плагин jquery UI, я добавил этот код в свой <head> тег:

<g:javascript>
$(document).ready(function()
{
$("#datePicker").datepicker({dateFormat: 'mm/dd/yy'});
})
</g:javascript>

Но когда я спасаю date поле, я получаю следующую ошибку:

Property date must be a valid Date error

Редактировать:

Tasks.groovy

package mnm.schedule

class Tasks {
    static belongsTo = [ user : User, project: Project ]
        String reason
        boolean completed
        String title
        String description 
                Date date
        static constraints = {
            user(nullable:false)
            completed(nullable:true)
            title(nullable:false)
            description(size:1..500,nullable:false)
                reason(nullable:true)
        }
        String toString(){
                this.title
        }
}

И код действия контроллера:

def save() {
        def adminProject = params.managersProject
        def foundProject = Project.findByNameLike("$adminProject")
        def tasksInstance = new Tasks(params)
        foundProject.addToTasks(tasksInstance)
        if (!tasksInstance.save(flush: true)) {
            render(view: "create", model: [tasksInstance: tasksInstance])
            return
        }
        redirect(action: "show", id: tasksInstance.id)
    }

Как оправиться от этого?

2 ответа

Решение

Я полагаю, вы получаете строку как '02/16/2012'? Вы можете просто позвонить:

params.date = Date.parse( 'MM/dd/yyyy', params.date )

Перед созданием объекта Task...

Вероятно, в Grails есть автоматический способ сделать это, используя PropertyEditorSupport


редактировать

Также в Grails 2.0 вы можете сделать:

def date = params.date( 'myVar', 'MM/dd/yyyy' )

Для парсинга даты param из объекта params

Кажется, этот формат не поддерживается с форматом даты изменения jquery

Другие вопросы по тегам