Format daty w asp.net mvc 4
Jak wymusić format daty i godziny w asp.net mvc 4? W trybie wyświetlania pokazuje, jak chcę, ale w modelu edycji nie. Używam displayfor i editorfor i applyformatineditmode = true z dataformatstring = "{0: dd / MM / rrrr}" Co próbowałem:
globalizacja w web.config (obie) z moją kulturą i kulturą.modyfikowanie kultury i hodowli w aplikacji application_start ()niestandardowy modelbinder do datetimeNie mam pojęcia, jak go wymusić i muszę wprowadzić datę jako dd / MM / rrrr nie jako domyślną.
WIĘCEJ INFORMACJI: mój viewmodel jest taki
[DisplayName("date of birth")]
[DataType(DataType.Date)]
[DisplayFormat(DataFormatString = "{0:dd/MM/yyyy}", ApplyFormatInEditMode = true)]
public DateTime? Birth { get; set; }
w widoku używam@Html.DisplayFor(m=>m.Birth)
ale działa to zgodnie z oczekiwaniami (widzę formatowanie) i wprowadzam datę, której używam@Html.EditorFor(m=>m.Birth)
ale jeśli spróbuję wprowadzić coś takiego jak 13/12/2000, to zawiedzie z błędem, że nie jest to poprawna data (12/13/2000 i 2000/12/13 działają zgodnie z oczekiwaniami, ale potrzebuję dd / MM / rrrr) .
Niestandardowy modelbinder jest wywoływany w application_start () b / c Nie wiem gdzie jeszcze.
Za pomocą<globalization/>
Próbowałem zculture="ro-RO", uiCulture="ro"
i inne kultury, które dałyby mi dd / MM / rrrr. Próbowałem także ustawić go na podstawie wątku w application_start () (jest tu wiele przykładów, jak to zrobić)
Mimo wszystko przeczytam to pytanie: wydaje się, że odpowiedź Darina Dimitrowa będzie działać tak długo, jak długo nie będę sprawdzać poprawności klienta. Innym podejściem jest użycie niestandardowej walidacji, w tym walidacji po stronie klienta. Cieszę się, że to odkryłem przed odtworzeniem całej aplikacji.