我有一个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)
}
如何从中恢复?
答案 0 :(得分:4)
我假设您收到的字符串为'02/16/2012'
?你可以打电话:
params.date = Date.parse( 'MM/dd/yyyy', params.date )
在创建Task对象之前......
使用PropertyEditorSupport
此外,在grails 2.0中,您可以执行以下操作:
def date = params.date( 'myVar', 'MM/dd/yyyy' )
从params对象中解析日期参数
答案 1 :(得分:-3)
似乎这种格式不支持jquery更改日期格式