asp.net-mvc - ASP.NET MVC设置验证日期格式在Chrome上失败

标签 asp.net-mvc

我在asp.net mvc中设置验证日期格式Chrome时遇到问题,对于其他浏览器(如IE,Firefox)可以正常工作。

我已经在模型中定义了日期,如下面的代码:

[Required]
[Display(Name = "Data fi publicació")]
[DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:dd/MM/yyyy}")]
public DateTime PublishingEndDate { get; set; }

在我看来:
@Html.TextBoxFor(model => model.PublishingEndDate)
@Html.ValidationMessageFor(model => model.PublishingEndDate)

问题似乎@Html.ValidationMessageForMM/dd/yyyy格式验证了日期,但是我要用欧洲格式dd/MM/yyyy验证日期。如何将默认区域性验证格式日期更改为dd/MM/yyyy

谢谢你的帮助

最佳答案

最后,我发现问题仅影响Chrome,与IE,Firexfox完美兼容,似乎是Chrome漏洞,我在http://forums.asp.net/t/1729179.aspx/1中找到了解决方案

必须使用以下代码重写jquery的验证器方法:

$(document).ready(function () {
    $('.calendarPicker').datepicker({ dateFormat: "dd/mm/yy" });

$.validator.addMethod('date',
    function (value, element, params) {
        if (this.optional(element)) {
            return true;
        }

        var ok = true;
        try {
            $.datepicker.parseDate('dd/mm/yy', value);
        }
        catch (err) {
            ok = false;
        }
        return ok;
    });
});

关于asp.net-mvc - ASP.NET MVC设置验证日期格式在Chrome上失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12845817/

相关文章:

asp.net-mvc - ASP MVC 如何注销但保持在同一页面上

c# - 所有业务逻辑都应该在域模型中还是?

c# - 将部分 viewModel 发布到发布操作方法

c# - 将 C# 对象列表转换为 JavaScript 对象数组

asp.net-mvc - 配置 MiniCssExtractPlugin

asp.net - 构建asp.net mvc网站时出错

asp.net-mvc - ModelState.IsValid 还是 Model.IsValid?

c# - MVC4错误-路由表中没有路由匹配

c# - 使用 Chrome 或 Internet Explorer 时获取不同的路径

.net - MVC - 是模型来查看还是 Controller 来查看?