Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/267.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# ASP.net MVC日期格式验证问题,客户端验证_C#_Asp.net_Asp.net Mvc_Validation_Asp.net Mvc 4 - Fatal编程技术网

C# ASP.net MVC日期格式验证问题,客户端验证

C# ASP.net MVC日期格式验证问题,客户端验证,c#,asp.net,asp.net-mvc,validation,asp.net-mvc-4,C#,Asp.net,Asp.net Mvc,Validation,Asp.net Mvc 4,我想使用客户端验证获得法语日期格式dd/mm/yyyy。我尝试使用DataAnnotation,如下所示: [DisplayFormat(DataFormatString = "{0:dd/MM/yyyy}", ApplyFormatInEditMode = true)] public Nullable<System.DateTime> DATE_NAISSANCE { get; set; } [DisplayFormat(DataFormatString=“{0:dd/M

我想使用客户端验证获得法语日期格式
dd/mm/yyyy
。我尝试使用DataAnnotation,如下所示:

[DisplayFormat(DataFormatString = "{0:dd/MM/yyyy}", ApplyFormatInEditMode = true)]
    public Nullable<System.DateTime> DATE_NAISSANCE { get; set; }
[DisplayFormat(DataFormatString=“{0:dd/MM/yyyyy}”,ApplyFormatInEditMode=true)]
公共可空日期{get;set;}
但我总是遇到同样的问题,比如说,如果我把
2015年9月15日
2018年12月30日
。。。
如何修复它?

如果您正在使用jQuery unobtrusive validation进行客户端验证,您可以添加一个validator方法,如下所示:

$.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");
见这个问题:


如果您也在使用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;
                });
此示例使用jQueryUI的datepicker函数parseDate检查输入的日期格式是否正确

希望这有帮助


如果将类型改为
DateTime
,而不是
DateTime?
,Uros问题是否得到解决?即不可为空?只是想一想,我要改变什么?可以为null,因为我首先在oracle中使用EF数据库。