MVC DateTime验证 - 英国日期格式

mp3*_*uck 39 validation jquery asp.net-mvc-3

我有一个带有两个日期字段的简单视图,其中添加了ValidationMessageFor控件,用于不显眼的JavaScript验证.

我的问题是我一直被告知我的日期无效,格式正确时(dd/MM/yyyy)

我已添加<globalization culture="en-GB" uiCulture="en-GB"/>到我的web.config中,并且还包含[DisplayFormat(DataFormatString = "{0:dd/MM/yyyy}", ApplyFormatInEditMode = true)]在每个DateTime属性中,但它仍然不接受英国格式的日期.

我有什么明显的遗失吗?

Boh*_*dan 100

实际上你只需要为日期重载不显眼的JavaScript验证方法

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

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

  • 有一种国际日期验证方法,可以在[additional-methods.js](http://ajax.aspnetcdn.com/ajax/jquery.validate/1.11.1/additional-methods.js)库中使用. (3认同)

小智 12

Bohdan的例子很有用!我给你的答案队友+1.

为了完整起见,我写了一篇关于如何集成所有部分的博客文章(模型,视图,自定义EditorTemplate,jQuery包含和添加Bohdan的解决方案).

你可以在这里阅读:http://www.kestrelblackmore.com/blog/jquery-datepicker-mvc4