2014-09-12 64 views
-1

我正在使用Data Annotation來驗證我的表單。我已經使用下列內容: -保存數據時MVC 4驗證失敗

[Required(ErrorMessage = "The Start Date field is required.")] 
    [RegularExpression(@"^(0[1-9]|1[0-2])\/(0[1-9]|1\d|2\d|3[01])\/(19|20)\d{2}$", ErrorMessage = "Start Date must be in mm/dd/yyyy format.")]  
    public Nullable<System.DateTime> StartDate { get; set; } 

我從jQuery的壓延機選擇日期(格式爲:MM-DD-YYYY)

當我保存的形式,它拋出錯誤 「實體驗證失敗。」

但是,如果我刪除正則表達式,它允許保存數據。

請提供解決方案

感謝

+0

你確定的正則表達式是正確的? – 2014-09-12 10:58:53

+1

你的正則表達式有一個'/'分隔符,你的日曆有'-'分隔符? – 2014-09-12 11:02:22

+0

將正則表達式中的'/'分隔符替換爲'-' – Stuntman 2014-09-12 11:06:01

回答

1

非常helful頁面來測試正則表達式這裏http://regex101.com/

請更新您的代碼是:

[RegularExpression(@"^(0[1-9]|1[0-2])-(0[1-9]|1\d|2\d|3[01])-(19|20)\d{2}$", 
ErrorMessage = "Start Date must be in mm-dd-yyyy format.")]