Дата свойства должна быть допустимой ошибкой даты при использовании плагина пользовательского интерфейса jquery - PullRequest
3 голосов
/ 16 февраля 2012

У меня есть класс 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 ]

4 голосов
/ 16 февраля 2012

Я полагаю, вы получаете строку типа '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

0 голосов
/ 16 февраля 2012

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

...