ModelState.AddModelError на уровне формы с ASP.NET MVC 2 RC - PullRequest
6 голосов
/ 08 февраля 2010

В предыдущих версиях ASP.NET MVC вы могли использовать ModelState.AddModelError("**_FORM**", "error"), чтобы сделать ошибку на уровне формы вместо уровня свойства. Кажется, это больше не работает с новым RC ASP.NET MVC 2.

Есть ли другой способ, как это сделать? Я использую <%= Html.ValidationSummary() %> в моем View-файле ...

Ответы [ 2 ]

5 голосов
/ 08 февраля 2010

Я лично использую AddModelError("" - я не знаю, откуда берется _FORM? - и ValidationSummary() не является чёрной магией - вместо этого я использую своего собственного помощника, который, например, включает в себя определенные (пользовательские) сообщения об исключениях. Помощник очень прост в написании - простой цикл foreach поверх ModelState - так что вы можете написать свой собственный. Там вы можете свободно показывать уровень формы, уровень свойств или все, что вам нравится.

0 голосов
/ 20 апреля 2011

ошибка находится внутри состояния модели и отправляется вспомогательному классу validationsummary по следующему аргументу:

this.ViewData.ModelState.Keys

this.ViewData.ModelState.Values
...