2013-12-18 41 views
0

我有一個常規的Grails以下領域工程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類型的屬性值轉換爲所需的類型org.joda.time.LocalDate財產的startDate ;嵌套異常是java.lang.IllegalArgumentException:無效格式:「2014-01-01」在「14-01-01」格式不正確

有誰知道如何解決這個問題?我應該重新格式化字符串嗎?

回答

1

你使用的是喬達時間插件?如果是的話,你應該映射你的字段到

static mapping = { 
    startDate type: PersistentLocalDate 
    endDate type: PersistentLocalDate 
} 

在你的模型中。