2011-12-02 17 views
14

Wygląda na to, że przegapiłem coś bardzo prostego, ale nie mogę znaleźć nigdzie odpowiedzi.Błędy na poziomie modelu w MVC3?

Chcę wygenerować ogólny typ instrukcji "Masz błędy - patrz poniżej" na formularzu, gdy błędy istnieją za pomocą @Html.ValidationSummary(true), a listę wszystkich błędów specyficznych tylko w linii obok odpowiednich pól. Chcę logiki i tekstu błędu zawartego w filtrze akcji.

Problem polega na tym, że cała dokumentacja, którą widziałem na błędach "na poziomie modelu" wyjaśnia, w jaki sposób wyświetlać je w widokach, ale nie jak dodać do stanu modelu.

Błędy dodane za pomocą ModelState.AddModelError nie są modelami poziom - w jaki więc sposób mogę dodać błąd na poziomie modelu?

+0

jeśli dopasujesz klucz do nazwy wejścia, będą one na poziomie modelu. – dotjoe

+0

Nie mogę dokładnie zobaczyć, co masz na myśli przez "poziom modelu". ModelState.AddModelError są dla błędów modelu. –

+2

Jeśli właściwość modelu jest równa nazwie klawisza, błąd zostanie dołączony do określonej właściwości. Jeśli klucz jest pusty, będzie to model globalny. –

Odpowiedz

21

ModelState.AddModelError będzie działać. Po prostu ustaw klucz z pustym ciągiem.

ModelState.AddModelError(String.Empty, "here is the error"); 
Powiązane problemy