【发布时间】:2013-12-18 21:44:10
【问题描述】:
我有一个 groovy grails 项目的以下域
class Title {
// Automatic timestamping
DateTime dateCreated
DateTime lastUpdated
String name
LocalDate startDate
LocalDate endDate
static constraints = {
name blank: false, maxSize: 100
startDate nullable: true
endDate nullable: true
// TODO: Validation check to make sure endDate is after startDate
}
}
开始日期使用 jodatime 的LocalDate。
我的问题是,当我去更新startDate字段时,我必须使用以下格式mm/dd/yyyy,但是它将数据库中的日期存储为yyyy-mm-dd。我想让我的输入字段,对于开始日期,接受yyyy-mm-dd,因为这就是它在数据库中的存储方式。如果我尝试使用除斜杠以外的任何其他格式提交表单,我会收到以下错误
无法将 java.lang.String 类型的属性值转换为属性 startDate 所需的类型 org.joda.time.LocalDate;嵌套异常是 java.lang.IllegalArgumentException: Invalid format: "2014-01-01" is malformed at "14-01-01"
有谁知道如何解决这个问题?我应该重新格式化字符串吗?
【问题讨论】: