gpt4 book ai didi

asp.net-mvc - MVC 的日期选择器的 dd-mm-yyyy 格式在 Chrome 中不起作用

转载 作者:行者123 更新时间:2023-12-02 14:19:20 24 4
gpt4 key购买 nike

在我用于输入出生日期的 MVC5 Razor 代码中,我使用如下日期选择器

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

这里是model.date_of_birth一个EditorFor正在调用并将其设置为 datepicker@class = 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.

日期11-05-2015在 Chrome 中也运行良好。所以我猜 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 中都可以正常工作,没有任何错误。

关于asp.net-mvc - MVC 的日期选择器的 dd-mm-yyyy 格式在 Chrome 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30971737/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com