加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

用于MVC的datepicker的asp.net-mvc -dd-mm-yyyy格式在Chrome中不

发布时间:2020-12-16 03:38:28 所属栏目:asp.Net 来源:网络整理
导读:在我的MVC5 Razor代码中输入出生日期我正在使用如下的日期选择器 @Html.EditorFor(model = model.date_of_birth,new { htmlAttributes = new { @class = "m-wrap datepicker" } }) 这里为model.date_of_birth,一个EditorFor正在调用并将其作为一个带有@class
在我的MVC5 Razor代码中输入出生日期我正在使用如下的日期选择器

@Html.EditorFor(model => model.date_of_birth,new { htmlAttributes = new { @class = "m-wrap  datepicker" } })

这里为model.date_of_birth,一个EditorFor正在调用并将其作为一个带有@class = datepicker的日期选择器

然后使用下面的代码在脚本区域启动datepicker

$('.datepicker').datepicker({
            format: 'yyyy-mm-dd',autoclose: true
        })

这里的日期格式是’yyyy-mm-dd’,它工作正常,但用户希望它是dd-mm-yyyy格式.所以我把脚本中的格式改为dd-mm-yyyy
在Internet Explorer中它工作正常,但在Chrome中它给出了某个日期的错误

eg:  14-05-2015

The field Date of Birth* must be a date.

2015年5月11日的日期在铬也很好.所以我猜Chrome正在采用mm-dd-yyyy的日期格式.

格式’dd-M-yyyy’也正常工作只有dd-mm-yyyy的错误

有什么办法可以克服这个浏览器特定的错

编辑

$.validator.addMethod('date',function (value,element) {
    if (this.optional(element)) {
        return true;
    }
    var valid = true;
    try {
        $.datepicker.parseDate('dd/mm/yyyy',value);
    }
    catch (err) {
        valid = false;
    }
    return valid;
});

$(function () {

 $('.datepicker').datepicker({
            format: 'dd/mm/yyyy',autoclose: true
        })
});

解决方法

最后我找到了解决方案.

首先,我创建一个名为jquery.validate.date.js的新java脚本文件
用下面的代码

$(function () {
    $.validator.methods.date = function (value,element) {
        if ($.browser.webkit) {
            var d = new Date();
            return this.optional(element) || !/Invalid|NaN/.test(new Date(d.toLocaleDateString(value)));
        }
        else {
            return this.optional(element) || !/Invalid|NaN/.test(new Date(value));
        }
    };
});

它覆盖了jquery.validate.js中的日期验证功能

然后我在’jquery.validate.js’之后调用脚本,如下所示

<script type="text/javascript" src="@Url.Content("~/Scripts/jquery.val.js")"/>

<script type="text/javascript" src="@Url.Content("~/Scripts/jquery.val.date.js")"/>

现在日期格式dd / mm / yyyy在chrome和IE中都有效,没有任何错误.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读