2010-03-15 52 views
2

有没有一种方法可以使用用户的文化来定位日期范围验证程序?我正在寻找验证日期并避免提供修正格式(例如:使用正则表达式验证程序执行dd/mm/yyyy)的好方法本地化日期验证程序

回答

0

这将是最接近我想要的东西。

获取用户的语言首选项基于语言设置:

userLanguage = Request.UserLanguages[0]; 

获取ShortDatePattern基础上,语言:

new CultureInfo(userLanguage).DateTimeFormat.ShortDatePattern; 

在这里,我将使用模式来验证用户的输入并显示所需要的格式在页面上。

+0

除非您想自己制作自定义控件,否则请忽略上述内容。否则,要使用CompareValidator,只需将2件事添加到您的代码中。 1.设置CultureInvarientValues = true; 2.在web.config中设置文化或仅在页面中设置文化。例如web.config中的下的。 3.使用日历扩展器,将模式设置为CultureInfo.CurrentCulture.DateTimeFormat.ShortDatePattern。 就是这样! – Blithe 2010-04-06 03:53:08

1

使用Date.TryParseExact()方法,请参阅documentation。 使用返回的My.Application.Culture.CurrentCulture.DateTimeFormat对象的成员,这是System.Globalization类的成员。 DateTimeFormatInfo,检索当前文化的日期格式(每种文化都有多种格式,如长格式和短格式......)。

+0

感谢Hanin,我想我们会将这种方法应用到CustomValidator中? – Blithe 2010-03-25 08:40:21