1

我在索引頁上有一個出生日期文本框。我必須驗證用戶輸入完整的日期格式(mm/dd/yyyy),但允許在無需年份的情況下發布03/12(mm/dd),並在c#端將其轉換爲03/12/2015。如何在mvc中處理無效日期

我的要求是驗證用戶輸入完整的日期格式。 我使用了數據註釋,但也沒有處理(mm/dd)作爲無效日期。

@Html.TextBoxFor(m => m.Search.DOB, new { @class = "form-control datepicker" }) 
+0

你到目前爲止試過了什麼? – 2015-10-13 08:48:08

+0

代碼在哪裏?你如何在客戶端進行驗證? 'TextBoxFor'不會創建任何驗證腳本,只會顯示和綁定文本框。生成驗證腳本是'EditFor'的工作。 –

+0

來自@Ecorry:當觸發fucusout事件時,您可能可以在JavaScript中使用正則表達式! –

回答

0

也許你可以在JavaScript中使用正則表達式,當fucusout事件觸發 !

或解決按照

[DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:dd-MM-yyyy}")] 
public DateTime StartDate { get; set; } 
+0

歡迎來到Stack Overflow!這真是一個評論,而不是一個答案。有了更多的代表,[你將能夠發表評論](http://stackoverflow.com/privileges/comment)。目前,我已經爲您添加了評論,並且我將此帖標記爲刪除。 –

+0

我用過這些東西,但沒有任何工作。我沒有任何選擇使用JavaScript。 –

0

你可以用它工作沒有JavaScript中的html5 form validation問題。 例如:

<input type="text" 
     name="DOB" 
     placeholder="MM/dd/yyyy" 
     title="MM/dd/yyyy" 
     required 
     pattern="^([1-9]|1[0-2])/([1-9]|1[0-9]|2[0-9]|3[0-1])/\d{4}$" /> 
+0

我正在使用MVC 3而不使用Html5。 –