我想让法语日期格式dd/mm/yyyy
与我的客户端验证一起使用。我试着像这样使用DataAnnotation:
[DisplayFormat(DataFormatString = "{0:dd/MM/yyyy}", ApplyFormatInEditMode = true)]
public Nullable<System.DateTime> DATE_NAISSANCE { get; set; }
但如果我举例Invalide Date Format
,15/09/2015
,我总是会遇到问题30/12/2018
...
如何解决?
答案 0 :(得分: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");
看到这个问题:
答案 1 :(得分: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的datepicker函数parseDate来检查输入的日期是否格式正确。
希望这有帮助!
乌罗什