2014-02-16 40 views
1

我正在構建一個ASP.NET MVC 4網站。我在我的一個模型類中有一個日期字段,格式爲「dd.mm.yyyy」。在我的編輯或創建視圖中,如果我嘗試輸入日期,如「05.12.1975」,服務器端驗證工作沒有任何問題,但客戶端JQuery驗證失敗,並說「字段出生日期必須是日期。 「但是,如果我將值更改爲「05/12/1975」,則兩種驗證都有效。問題是關於「。」日期字段中的字符。我如何允許「。」在客戶端驗證?ASP.NET MVC 4客戶端驗證在包含點的日期中失敗「。」

謝謝。在我的C#類文件

日期字段:

[DataType(DataType.Date)] 
[DisplayFormat(DataFormatString = "{0:dd.MM.yyyy}", ApplyFormatInEditMode = true)] 
[Display(Name = "Birth Date")] 
public virtual DateTime BirthDate { get; set; } 

回答

2

當使用日期客戶端驗證,你必須重寫日期的jQuery驗證。

<script type="text/javascript"> 
    $(function() { 
     $.validator.methods.date = function (value, element) { 
      return this.optional(element) || Globalize.parseDate(value, "dd.MM.yyyy") !== null; 
     } 
    }); 
</script> 

您必須引用Globalize庫和HTML頭中的相應文化。你可以從https://github.com/jquery/globalize下載它。