首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ASP MVC 3客户端日期本地化验证

ASP MVC 3客户端日期本地化验证
EN

Stack Overflow用户
提问于 2012-05-23 23:43:31
回答 2查看 3.8K关注 0票数 0

我现在正在忙于Asp.net MVC3的网站。我有一个设置区域性的下拉列表(nl-BE // en-US)

当我试图用nl-BE区域性解析格式为'dd/mm/yyyy‘的日期时,在服务器上,一切正常,但在客户端,我的浏览器(chrome)一直在提示日期格式"dd/mm/yyyy“不是正确的日期格式。(客户端验证)

我已经尝试了jquery中的'globalize.js‘,但是仍然没有成功。

我可以欺骗浏览器的唯一方法是手动添加我自己的验证器jQuery.validator.addMethod( 'date',function (value,element,params) { return Date.parseExact(value,"d/M/yyyy");});

但是当我输入以下日期时:25/05/2012对于nl-BE,浏览器说ok,但我的服务器抛出一个错误,(因为这个错误的格式),所以它不是错误证明。

有没有人可以帮我做一个可以处理dd/mm/yyyy或mm/dd/yyyy的防错客户端验证?

谢谢

EN

回答 2

Stack Overflow用户

发布于 2012-05-24 17:21:33

你可以在你的对象属性中强制使用它。

代码语言:javascript
复制
[DisplayFormat(DataFormatString = "{0:dd-MM-yyyy}", ApplyFormatInEditMode = true)]

如果您将它与jQuery UI日期选择器结合使用,这样站点访问者就不会键入日期,而是选择一个日期,它应该是可靠的。

您需要做的最后一件事是在您的共享文件夹中创建一个新文件夹:具有新视图的EditorTemplates : DateTime.cshtml:

代码语言:javascript
复制
@model System.DateTime 
@Html.TextBox("", ViewData.TemplateInfo.FormattedModelValue, 
                    new { data_datepicker=true })
票数 1
EN

Stack Overflow用户

发布于 2012-05-25 20:20:21

这是Chrome中的一个bug,我在这里找到了解决方案)

http://geekswithblogs.net/EltonStoneman/archive/2009/10/29/jquery-date-validation-in-chrome.aspx

也许有些人也会得到这个错误;)

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10723457

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档