首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >jQuery日期验证MVC 4 .Net 4.5.1英国日期“必须是日期”错误

jQuery日期验证MVC 4 .Net 4.5.1英国日期“必须是日期”错误
EN

Stack Overflow用户
提问于 2013-10-22 13:26:31
回答 3查看 6.2K关注 0票数 6

我有一个应用程序,我最近升级到.Net 4.5.1和MVC 4,我使用的是jQuery数据报警器和jQuery.validation 1.11.1。

我在英国,因此日期将在en-GB地区("dd/mm/yyyy")。我试过了hereherehere的建议,但都没有结果。

我的web.config中也有:

代码语言:javascript
复制
<globalization uiCulture="en-GB" culture="en-GB" />

并将IIS中的全球化设置为en-GB,但输入的每个日期都被确认为美国格式日期。

有人能帮忙吗?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-10-22 13:46:51

将jQuery.validate.js中的日期验证方法改为文件夹解决了以下问题:

代码语言:javascript
复制
date: function (value, element) {
        $.culture = Globalize.culture("en-GB");
        var date = Globalize.parseDate(value, "dd/MM/yyyy", "en-GB");
        return this.optional(element) || 
                       !/Invalid|NaN/.test(new Date(date).toString());
    }

在Chrome、FF和IE中进行测试

票数 8
EN

Stack Overflow用户

发布于 2014-05-08 13:17:52

在正在调用的Jquery中,只需添加格式。

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

http://www.matthewcarlin.co.uk/jquery-quick-tip-2-changing-date-format

票数 0
EN

Stack Overflow用户

发布于 2015-05-12 04:05:14

我只是想弄清楚这一点,于是我重写了规则,并使用了一个数据属性。

代码语言:javascript
复制
if (typeof jQuery.validator.methods.date !== 'function') {
    var f = function (value, element) {
        var e = $(element).attr('data-dateformat');
        if (e && (e.length)) {
            var dt = jQuery.datepicker.parseDate(e, value);
            return this.optional(element) || !/Invalid|NaN/.test(dt.toString());
        } else {
            return this.optional(element) || !/Invalid|NaN/.test(new Date(value).toString());
        }
    }
    jQuery.validator.addMethod("date", f);
} else {
    var m = jQuery.validator.methods.date;
    var f = function(value, element) {
        var e = $(element).attr('data-dateformat');
        if (e && (e.length)) {
            var dt = jQuery.datepicker.parseDate(e, value);
            return this.optional(element) || !/Invalid|NaN/.test(dt.toString());
        } else {
            return m(value, element);
        }
    }
    jQuery.validator.addMethod("date", f);
}

它假设您有数据报警器,但是如果您使用的是日期和jQuery,我认为这是一个安全的选择。如果元素具有数据-日期格式中定义的日期格式,它将使用该格式解析它,否则它将返回到默认日期规则,如果不存在该格式,则实现默认规则。

我将它放置在我的站点全局代码文件中,以便将其保留在jQuery脚本之外。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19519233

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档