2013-04-15 15 views
6

Mam aplikację MVC4, która jest skompilowana w Wielkiej Brytanii i hostowana na serwerze w USA. W moim modelu mam pole daty, które jest wymagane.Sprawdzaj datę w zależności od regionu

Do tego pola jest używany selektor daty po wybraniu daty, która ustawi datę na format brytyjski "DD/MM/RRRR", np. 23.12.2013. Po przesłaniu formularza aplikacja zgłasza błąd sprawdzania poprawności, ponieważ nie oczekuje formatu.

W MVC4 Jak to zrobić:

  1. Zebrane obydwa formaty dat tj przesłonić format daty? Ustawiłem format daty, ale nie mogę określić wielu formatów daty
  2. Strona serwera Zapisuję datę w bazie danych przy użyciu Linq. Powoduje to również błąd jako niepoprawny format. Podejrzewam, że będę musiał zmienić datę na brytyjską?
  3. Podczas ładowania danych wpisz datę w odpowiednim formacie, w zależności od lokalizacji użytkownika.
  4. Wykryj lokalizację strony serwera użytkownika?

Czy ktoś ma jakieś szczegóły na temat tego, jak bardzo walidować na podstawie globalizacji użytkownika?

Dzięki

Odpowiedz

1

w config WWW, w sekcji globalizacji ustawić kulturę na "Auto". to wykorzysta obecną kulturę użytkownika (w tym numer i data Godzina format)

<globalization culture="Auto" /> 

.NET Framework będzie analizować i renderować dane zgodnie z kulturą użytkownika i zarówno MVC i Entity będzie działać prawidłowo.

2

Czy dodano poniższy segment w web.config?

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

i odczytać datę w kodzie jako format DateTime. to nie powinno sprawić Ci problemu.

Innym sposobem jest w was kodu po stronie serwera odczytać datę tha zawsze jako DateTimeUTC i gdy kiedykolwiek wyświetlania daty na ekranie, użyj .ToLocalTime()

Powiązane problemy