我目前正忙于Asp.net MVC 3网站。 我有一个下拉菜单设置文化(nl-BE // en-US)
当我尝试使用nl-BE文化解析格式为'dd / mm / yyyy'的日期时,在SERVER上,一切正常,但在客户端上我的浏览器(chrome)继续说dateformat“dd / mm / yyyy“不是正确的日期格式。 (客户端验证)
我已尝试使用jquery的'globalize.js',但是没有成功。
我可以欺骗浏览器的唯一方法是手动添加我自己的验证器 jQuery.validator.addMethod( '日期', function(value,element,params){ return Date.parseExact(value,“d / M / yyyy”); });
但是当我输入以下日期:25/05/2012对于nl-BE,浏览器说好了,但我的服务器抛出错误,(因为这个错误的格式)所以它不是错误证明。
有人可以帮助进行可以处理的错误验证客户端验证 dd / mm / yyyy或mm / dd / yyyy
由于
答案 0 :(得分:1)
您可以在Object属性中强制它。
[DisplayFormat(DataFormatString = "{0:dd-MM-yyyy}", ApplyFormatInEditMode = true)]
如果你将它与jQuery UI datepicker结合使用,那么网站访问者不会输入日期,而是选择一个日期,它应该是可靠的。
您需要的最后一件事是在您的共享文件夹中,一个新文件夹:EditorTemplates with new view:DateTime.cshtml:
@model System.DateTime
@Html.TextBox("", ViewData.TemplateInfo.FormattedModelValue,
new { data_datepicker=true })
答案 1 :(得分:1)
这是Chrome中的一个错误,我在这里找到了解决方案))
http://geekswithblogs.net/EltonStoneman/archive/2009/10/29/jquery-date-validation-in-chrome.aspx
也许有些人也会得到错误;)