我得到了2個DateTime字段,我使用datepicker爲用戶選擇日期。但是,由於它是一個文本框,用戶仍然可以輸入任何值並單擊提交按鈕。所以,我希望對DateTime文本字段進行驗證,以檢查提交的值是否爲具有特定格式的DateTime。我嘗試這樣做:MVC 3 - 驗證「isDateTime」不起作用
[Required(ErrorMessage = "Storage Date is required")]
[DataType(DataType.DateTime, ErrorMessage = "Please input a valid date")]
public DateTime StorageDate { get; set; }
不過,我不力在文本框中得到任何消息,即使我輸入「XXXXX」,並提交(注:[必填]審定做的工作)
我的形式是這樣的:
<div class="editor-label">
Storage Date
</div>
<div class="editor-field">
@Html.TextBox("StorageDate", String.Format("{0:ddd, d MMM yyyy}", DateTime.Now), new { id = "storagedate" })
@Html.ValidationMessageFor(model => model.StorageDate)
</div>
所以,我需要檢查日期根據格式也..任何想法,爲什麼它不工作?
任何幫助,非常感謝......感謝......
嗨,謝謝!一個簡單的解決方案,我這樣做: [RegularExpression(@「^((((((0?[13578])|(1 [02]))[\。\ - /]?((0? [1-9])|([12] \ d)|(3 [01])))|(((0 [469])|(11))[\ \ - /]((0≦φ≦ [1-9])|([12] \ d)|(30)))|((O 2)[\ \ - /]((0 [1-9])|???(1 \ d )|(2 [0-8]))))[\ \ - /。](((19)|(20))([\ d] [\ d]))))|((0≦φ≦ ?2)[\ \ - /](29)[\ \ - /。](((19)|?(20))(([02468] [048])|([13579] [26]) ))))$「,ErrorMessage =」請輸入有效日期「)] 它是正確的嗎? – shennyL
如果你的REGEX是正確的,那麼是的 - 這將工作。如果您有更多具有DateTime類型屬性的查看模型,那麼我會建議使用counsellorben的解決方案,因爲它可以提高可重用性。 – 2011-10-22 13:51:12
嗨,我找不到任何正則表達式格式爲2011年10月31日星期一(日期選擇器格式:'D,dd M yy')。任何想法??或者我實際上可以禁用文本字段,以確保用戶只從datepicker選擇日期? – shennyL