【问题标题】:jQuery Datepicker not accepting the given datejQuery Datepicker 不接受给定的日期
【发布时间】:2018-03-21 10:35:13
【问题描述】:

我有一些输入,用户使用 jQuery Datepicker 选择日期,但它不接受我指定格式的日期。

我这样初始化日期选择器:

        $(document).ready(function () {

            $('input[data-initdate="1"]').datepicker({
                [...]
                dateFormat: "dd.mm.yy",
                [...]
            });
});

我的项目是一个 ASP.NET 核心应用程序。当我在 VS 中调试应用程序时,它会接受像 18.02.2018 这样的日期,但是一旦我在远程服务器上运行相同的应用程序并使用与之前相同的客户端访问页面,它就不会接受。像 01.01.2018 这样的日期仍然被接受,这使我得出结论,无论出于何种原因,日期和月份都会被切换。

查看网络选项卡没有发送请求,因此问题一定出在客户端部分。

我还在用于 DateTimes 的自定义模型绑定器中添加了一些日志记录。发送一个可以替换日期和月份而不会出错的 DateTime 是没有问题的:

2018/03/21 10:56:51.914:|Info| Attempted Value: 01.03.2018
Raw Value: System.String[]
Culture of ValueProviderResult: de-DE
de-DE ShortDatePattern: dd.MM.yyyy   

发送另一个日期(例如 18.02.2018)会像之前提到的那样甚至不发送请求,因此模型绑定器不会执行。

有人知道这里发生了什么吗? 使用 jQuery 2.1.3,ASP.NET Core,浏览器:Chrome、Firefox、IE(全部在 同一台机器)

感谢阅读:)

【问题讨论】:

  • 有趣的问题! :)

标签: jquery asp.net asp.net-core jquery-ui-datepicker


【解决方案1】:

毕竟在我的 asp.net 项目中使用的 jquery.validate 导致了这个问题。 不是最好的解决方案,但我只是禁用了客户端检查日期:

jQuery.validator.methods["date"] = function (value, element) { return true; } 

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-25
    • 1970-01-01
    相关资源
    最近更新 更多