asp.net-mvc-3 - Internet Explorer 中的 MVC 3 客户端日期验证问题

标签 asp.net-mvc-3 datetime datetimepicker client-side-validation

客户端验证 DateTime 字段存在一些问题。我正在使用以下 我的模型类中的 DataAnnotation 到 DateTime 字段:

[Display(Name = "Beginning Date", Description = @"Insert Date yyyy-mm-dd")]
[DataType(DataType.Date, ErrorMessage = @"Insert Date yyyy-mm-dd")]
[DisplayFormat(DataFormatString = "{0:yyyy-MM-dd}", ApplyFormatInEditMode = true)]

我正在使用 jQuery UI 中的 Datapicker 来插入日期。日期格式由

强制执行
   $(document).ready(function () {
    $.datepicker.setDefaults({ dateFormat: 'yy-mm-dd' });
 });

所以它在 Firefox 上运行良好,但在我使用 Datepicker 插入日期时在 Internet Explorer 上完全崩溃。当我以 yyyy/mm/dd 而不是 yyyy-mm-dd 格式输入日期时,不会出现验证错误。

有谁知道为什么 Internet Explorer 上的验证格式与 Firefox 上的不同以及我可以在哪里更改它?

感谢您的帮助。

最佳答案

您可以将 date 验证器替换为 dateISO 验证器。

$.validator.methods["date"] = function (value, element) {
    return $.validator.methods.dateISO.apply(this, arguments); 
};

默认情况下,jQuery date validation method使用 JavaScript 的内置 Date 对象来测试日期是否有效。 Internet Explorer 8 及更低版本不支持对 Date 对象使用 ISO 日期格式(请参阅 JavaScript Version Information ),这会导致验证失败。

关于asp.net-mvc-3 - Internet Explorer 中的 MVC 3 客户端日期验证问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6923180/

相关文章:

c# - 如何将字符串解析为日期时间?

asp.net-mvc-3 - 保持 session 事件 MVC3

c# - 使用 MVC3 Ajax WebGrid 进行反向排序

asp.net - Enterprise ASP.NET MVC 3 架构大纲

r - 在没有时区的 R 中创建日期和时间序列

php - 在插入之前将字符串转换为 mysql 日期格式

php - Sonata DateTimePickerType 类默认日期显示错误的日期时间格式

css - 无法使用 bootstrap-datetimepicker

python - Django DateTimeInput 类型 'datetime-local' 未保存到数据库

asp.net-mvc-3 - 在ASP.Net MVC3中创建条件表单的正确方法是什么?