2013-04-15 3 views
6

У меня есть приложение MVC4, которое составлено в Великобритании и размещено на американском сервере. В моей модели у меня есть поле даты, которое требуется.Подтвердить дату в зависимости от региона

К данному поле относится сборщик дат, при выборе даты он установит дату в формате Великобритании «DD/MM/YYYY», например. 23/12/2013. При отправке формы приложение выдает ошибку проверки, так как не ожидает формат.

В MVC4 как я:

  1. Accept как форматы даты, т.е. Override формат даты? Я установил формат даты, но не могу указать несколько форматов даты
  2. Серверная сторона Я сохраняю дату в базе данных с помощью Linq. Это также порождает ошибку как неправильный формат. Я подозреваю, что мне нужно будет перейти на британскую дату?
  3. При загрузке деталей введите дату в правильном формате в зависимости от местоположения пользователя
  4. Определить местоположение пользователя на стороне пользователя?

У кого-нибудь есть какие-либо сведения о том, как очень валидировать на основе глобализации пользователя?

Благодаря

ответ

1

В веб-конфигурации, в разделе глобализации, установить культуру на «Авто». это будет использовать текущую культуру пользователя (в том числе номер и дата время формат)

<globalization culture="Auto" /> 

Рамки .net будет анализировать и отображать данные в соответствии с культурой пользователя и как MVC и Entity будет работать должным образом.

2

Добавление нижнего сегмента в web.config?

<globalization 
    enableClientBasedCulture="true" 
    uiCulture="auto" 
    culture="auto" /> 

и читать вашу дату в коде как формат DateTime. это не должно вызывать проблем.

Другой способ заключается в вас стороне сервера код чтения тха даты всегда, как DateTimeUTC и когда-либо отображать дату на экране, используйте .ToLocalTime()

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