Итак, что я могу назвать ModelState.IsValid
в контроллере?Как system.web.mvc определяет, содержат ли значения ModelState ошибки?
Что проверено? С чем это связано? Где это происходит?
Я взглянул на документы MSDN, и это не показало много.
Итак, что я могу назвать ModelState.IsValid
в контроллере?Как system.web.mvc определяет, содержат ли значения ModelState ошибки?
Что проверено? С чем это связано? Где это происходит?
Я взглянул на документы MSDN, и это не показало много.
Что проверено?
Словарь ModelState.
Что он проверяет?
Этот словарь содержит элемент с ошибкой.
Где это происходит?
Всякий раз, когда вы вызываете метод IsValid. Но, возможно, вы спрашиваете, когда этот словарь заселен. Он заполняется стандартным связующим устройством. Например, давайте предположим, что у вас есть следующие действия контроллера:
[HttpPost]
public ActionResult Index(MyViewModel model)
{
if (ModelState.IsValid) ...
}
Когда модель Связыватель по умолчанию является обязательным для модели представления (до выполнения действия контроллера), оно будет применять необходимую проверку при анализе значений запросов и если есть ошибки, он добавит их в словарь ModelState. Итак, как только код достигнет действия контроллера и вы проверите свойство IsValid, этот словарь уже заселен.
используйте декомпилятор и проверьте код. Попробуйте JetBrains dotPeek и откройте dll System.Web.MVC и посмотрите, какой код этот метод имеет – Shyju