2014-02-07 75 views
0

我有一個使用自定義日期和時間選擇器腳本的文本輸入。Grails輸入錯誤:屬性必須是有效日期

<div class="input-group date datetime" data-start-view="4" data-date-format="dd MM yyyy" data-min-view="2" data-link-field="dtp_input1"> 
    <input name="dateOfBirth" class="form-control" size="16" type="text" value="${userInstance?.dateOfBirth}"/> 
    <span class="input-group-addon btn btn-primary"><span class="glyphicon glyphicon-th"></span></span> 
</div> 

它給了我這個錯誤 Property org.springframework.context.support.DefaultMessageSourceResolvable: codes [rms.User.dateOfBirth,dateOfBirth]; arguments []; default message [dateOfBirth] must be a valid Date

我不如何​​解決這個問題。使用grails dateTime選取器標記似乎可行,但其醜陋

+0

你在行動的參數是什麼? – user1791574

回答

0

唯一的方法是使用SimpleDateFormat。我經常用它來與JS-日曆裏面形式:

class YourController { 

    static SimpleDateFormat sdf = new SimpleDateFormat('dd.MM.yyyy') 

    def index(){ 
    Date dateOfBirth 
    try{ 
     if(params.dateOfBirth) dateOfBirth = sdf.parse(params.dateOfBirth) 
    }catch(Exception ignoreMe){} 
    // do something useful 
    } 

UPDATE:

必須使用過程中的propper日期格式。我在示例dd.MM.yyyy中給出的那個對應於08.02.2014。對於像February 08 2014這樣的字符串,你需要類似MMM dd yyyy

查看http://docs.oracle.com/javase/7/docs/api/java/text/SimpleDateFormat.html瞭解更多信息

+0

我試過了,但它給出了一個不可解析的錯誤。我的字符串就像這個順便說一句。一月dd yyyy。它給出了12個月的完整單詞 – Jan

+0

更新了我的答案 – injecteer

相關問題