我有几个输入,用户使用jQuery Datepicker选择日期,但它不接受我指定格式的日期。
我将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(全部开启 同一台机器)
感谢阅读:)
答案 0 :(得分:0)
在我的asp.net项目中使用的毕竟jquery.validate导致了问题。 不是最好的解决方案,但我只是禁用了客户端的日期检查:
>>> for i in range(10) : print i, hash(i)
...
0 0
1 1
2 2
3 3
4 4
5 5
6 6
7 7
8 8
9 9