2011-12-22 12 views
45

Muszę zrobić sprawdzenie, czy mój model jest prawidłowy z widoku mojej maszynki. Jeśli jest poprawna, chcę móc pokazać trochę kodu HTML.Jak mogę sprawdzić, czy mój model jest prawidłowy z widoku brzytwy?

Jak mogę to zrobić. Chcę coś

@if (Model.IsValid) { 

} 

ale wyżej nie działa

+0

Nie znoszę o to pytać, ale dlaczego? Jedyny scenariusz, jaki mogę wymyślić, to to, że z jakiegoś powodu nie wolno ci używać sprawdzania jQuery. – Peter

+3

@Peter (i każdy, kto ma to samo pytanie), wyobraź sobie, że chcesz wypisać element 'div' *, ale tylko wtedy, gdy * poprzednio przekazane informacje są nieprawidłowe, np. wypisz element kontenera dla alertu dotyczącego nieprawidłowych danych logowania. –

+0

@Peter mój drogi przyjacielu, obraz: przesyłasz plik i chcesz sprawdzić, czy ma on poprawny format, czy możesz to zrobić w javascript? - nie, nie możesz! Możesz więc sprawdzić po stronie serwera i jeśli się nie powiedzie, możesz dodać błąd do ModelState, aby wyświetlić go na stronie. –

Odpowiedz

74

Można sprawdzić, czy ModelState jest ważna, ale należy pamiętać, że jesteś tylko sprawdzanie poprawności ModelState w czasie wniosek został złożony internetowej:

@if (ViewData.ModelState.IsValid) { 
    ... 
} 

Dodatkowo można sprawdzić validatity z właściwości modelu w widoku:

@if (ViewData.ModelState.IsValidField("FIELD_NAME")) { 
    ... 
} 
+3

+1 za wymienienie KIEDY stan modelu jest zatwierdzony. –

+0

'FIELD_NAME' przekazany do' IsValidField' musi być ** pełną nazwą ** pola w odniesieniu do całej hierarchii ViewModel. –

Powiązane problemy