2011-10-17 9 views
5

Mam jednoznacznie napisane wywołanie ajax (POST) na jednej z moich stron MVC. Nie chcę próbować sprawdzać poprawności strony po stronie klienta, i nie będzie żadnych podsumowań do wyświetlenia po stronie klienta, jednak chciałbym rzucić adnotacje danych na modelu i zweryfikować na kontrolerze; jeśli nie przejdzie sprawdzania poprawności, chciałbym odesłać to, co było w podsumowaniu sprawdzania poprawności jako właściwość JSON, więc mogę pokazać to w oknie dialogowym jako komunikat o błędzie.Zobacz Podsumowanie sprawdzania poprawności w kontrolerze

Jak mogę przekazać JsonResponse tekst podsumowania weryfikacji w moim kontrolerze?

Odpowiedz

8

Jeśli próbujesz uzyskać błędy, po prostu użyj ModelState.Errors, aby uzyskać wszystkie błędy z kontrolera. Stamtąd możesz przygotować odpowiedź JSON w dowolny sposób:

var response = new 
        { 
         isValid = ModelState.IsValid, 
         errors = ModelState 
         .SelectMany(ms => ms.Value.Errors) 
         .Select(ms => ms.ErrorMessage) 
        }; 
return Json(response); 
+0

Dzięki, tego właśnie szukałem. –

Powiązane problemy