2014-05-07 75 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