2014-05-07 72 views
2

我想法語日期格式dd/mm/yyyy與我的客戶端驗證。我試圖用DataAnnotation這樣的:ASP.net MVC dateFormat驗證問題,客戶端驗證

[DisplayFormat(DataFormatString = "{0:dd/MM/yyyy}", ApplyFormatInEditMode = true)] 
    public Nullable<System.DateTime> DATE_NAISSANCE { get; set; } 

但是如果我把例如15/09/201530/12/2018我總是歌廳同樣的問題Invalide Date Format ... 如何解決呢?

+0

如果將類型更改爲'DateTime'而不是'DateTime?',那麼問題是否解決?即不可空?只是一個想法。 –

+0

我必須改變什麼?因爲我首先使用EF數據庫與oracle。 – Chlebta

回答

0

我你是也可以使用jQuery UI,也可以用下面的方法:

$.validator.addMethod('date', 
       function (value, element, params) { 
        if (this.optional(element)) { 
         return true; 
        } 

        var ok = true; 
        try { 
         // first parameter is date format, change this as needed 
         $.datepicker.parseDate('dd/mm/yyyy', value); 
        } catch (err) { 
         ok = false; 
        } 
        return ok; 
       }); 

本示例使用jQuery UI的日期選擇器函數parseDate檢查輸入的日期格式是否正確。

希望這會有所幫助!

Uros

3

如果您正在使用jQuery不顯眼驗證的客戶端驗證,你可以添加一個校驗方法,像這樣:

$.validator.addMethod("date", function (value, element) { 
    var bits = value.match(/([0-9]+)/gi), str; 
    if (!bits) 
     return this.optional(element) || false; 
    str = bits[1] + '/' + bits[0] + '/' + bits[2]; 
    return this.optional(element) || !/Invalid|NaN/.test(new Date(str)); 
}, 
"Please enter a date in the format dd/mm/yyyy"); 

看到這樣一個問題:

Custom date format with jQuery validation plugin