2010-03-15 2 views
2

Есть ли способ использовать культуру пользователя для локализации проверки диапазона для даты? Я ищу хороший способ проверить дату и избежать предоставления формата исправления (например: делать dd/mm/yyyy с помощью регулятора регулярного выражения)Локализованный валидатор даты

ответ

0

Это будет что-то самое близкое к тому, что я хочу на самом деле.

Получение языковых предпочтений пользователя на основе настроек языка:

userLanguage = Request.UserLanguages[0]; 

Получить ShortDatePattern базы на языке:

new CultureInfo(userLanguage).DateTimeFormat.ShortDatePattern; 

Отсюда я буду использовать шаблон для проверки ввода пользователя и отобразить нужный формат на странице.

+0

Игнорировать вышесказанное, если вы не хотите выполнять собственный пользовательский контроль. В противном случае, чтобы использовать CompareValidator, просто добавьте 2 кода в свой код. 1. set CultureInvarientValues ​​= true; 2. Установите культуру в web.config или просто на странице. например под в web.config. 3. использовать календарь, установить шаблон в CultureInfo.CurrentCulture.DateTimeFormat.ShortDatePattern. все! – Blithe

1

Используйте метод Date.TryParseExact(), консультируясь с documentation. Использовать членов объекта My.Application.Culture.CurrentCulture.DateTimeFormat, который относится к классу System.Globalization. DateTimeFormatInfo, чтобы получить форматы даты для текущей культуры (для каждой культуры есть несколько форматов, таких как длинный формат и короткий формат ...).

+0

Спасибо Ханин, я думаю, мы поместим этот подход в CustomValidator? – Blithe

Смежные вопросы