2013-01-13 36 views
1

在我的模型我有以下幾點:爲DateTime字段時間格式是不是在編輯模式下顯示天冬氨酸的mvc

[DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:H:mm}")] 
public DateTime _time { get; set; } 

在我Edit觀的文本框所設置的值是全日期時間和當過我嘗試手動通過瀏覽器編輯的值的jQuery的驗證產生錯誤的日​​期格式不正確

,而我加入ApplyFormatInEditMode=true爲什麼在文本框中我得到全註明日期(只有時間)以及爲什麼jQuery驗證器拋出錯誤時格式只有時間沒有日期,我怎麼能通過它?

回答

2

您應該使用Html.EditorFor,而不是Html.TextBoxFor如果要應用自定義格式:

@Html.EditorFor(x => x._time) 

而且通過命名_time你違反了至少2個C#命名約定(屬性屬性名稱以大寫字母而不是下劃線)。

+0

你的回答是正確的,但你知道如何讓jQuery驗證明白這是時間字段嗎? 和名稱只是一個示例 – Hilmi

+0

您將不得不爲其實現IClientValidatable接口和自定義客戶端適配器來編寫自定義驗證屬性,以瞭解您定義的自定義格式。但是AFAIK沒有內置到jQuery.validate中,它會爲你驗證一段時間。因此,您可能還需要爲此添加自定義驗證方法。 –