JQuery Datepicker不会发布英国日期字符串

如果问题很明显但我无法弄清楚它为什么突然不起作用而道歉。 我有一个jquery datepicker,只要我记得就一直工作正常,但突然间,当我尝试提交datepicker在datepicker上的表单重新出现时,好像我提交的日期无效。 我已经使用以下代码行将我的日期设置为英国风格:

 $(document).ready(function () { $('.date').datepicker({ dateFormat: "dd/mm/yy", minDate: 0 }); });  

我在我的视图中设置了datepicker,如下所示:

 @Html.TextBox("DateDue", "", new { @class = "date" }) 

我认为有些事情要求选择的日期字符串采用美国格式(因为它将提交有效的我们日期(mm / dd / yyyy),但不提供英国格式,即使它已在javascript中设置。

我错过了一些明显的东西吗 谁能告诉我这里我做错了什么?

我不确定是否有必要,但是datepicker所在的表单是这样创建的:

 @using ( Html.BeginForm( Html.BeginForm( "Create", "Task", FormMethod.Post, new { id = "taskCreateForm" } ) ) ) 

PS。 日期字符串实际上有效,并且在Firefox中没有问题但在Chrome中没有问题

任何帮助赞赏

编辑:

当我禁用不显眼的jsvalidation时,问题就消失了:

  

我有一种感觉,它与此有关,并尝试从模型注释中删除[Required]和[DataType(DataType.Date)],但这没有做到这一点。

不知道怎么留下不引人注目的js以及让英国日期字符串正常工作,但我越来越多地转向为表单编写我自己的javascriptvalidation而不是甚至打扰内置的东西,这似乎永远不会起作用比“必需的”validation检查更复杂的东西..

谷歌搜索提供了很多与本地化/全球化asp.net mvc 3validation相关的结果。

特别是这篇文章可能会涉及到某些内容:

http://www.hanselman.com/blog/GlobalizationInternationalizationAndLocalizationInASPNETMVC3JavaScriptAndJQueryPart1.aspx

向下滚动到:“全球化的jQuery不引人注目的validation”

这个问题的答案也许有帮助: 使用asp.net mvc 3本地化jqueryvalidation

jQuery允许您覆盖不同的validation函数,如下所示:

  $.validator.methods.number = function (value, element) { return !isNaN($.parseFloat(value)); } 

您可以为日期validation器执行类似的操作,并针对有效的英国日期针对regEx运行它。

您可以使用dateFormat,因此在您的javascript文件中(在页面加载之后),您可以放置​​:

 $('.datepicker').datepicker({dateFormat:'yy-mm-dd'}); 

请尝试使用altFormat!

 altFormat: "dd/mm/yy", 

这对我行得通 : )

编辑:在JSFiddle上试试这个http://jsfiddle.net/adover/BRfcK/