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数据库。