Como faço para acessar o ModelState de dentro da minha visualização (página aspx)?

114

Como faço para acessar o ModelState de dentro da minha visualização (página aspx)?

Saajid Ismail
fonte
1
Eu não acho que você deveria. Esse tipo de coisa deve acontecer no Controlador.
Matthew Groves
1
Preciso saber se meu ModelState é válido. Não quero fazer isso: <% if (Html.ValidationSummary ()! = Null)%> <% {%> <p class = "validation-summary-errors"> Sua mensagem não foi enviada. Corrija os erros abaixo e tente novamente. </p> <%}%> Em vez disso, quero fazer isso: <% if (! ViewData.ModelState.IsValid) {%> <p class = "validation-summary-errors"> Sua mensagem não foi enviada. Corrija os erros abaixo e tente novamente. </p> <%}%>
Saajid Ismail
12
Isso soa como uma razão boa o suficiente para acessar ModelState
BritishDeveloper
Não há absolutamente nada de errado em acessar ModelState na visualização. Faz parte do ViewData.
kennythecoder

Respostas:

179

Use ViewContext.ViewData.ModelState.

Mathias F
fonte
19
Também digno de nota que você pode apenas fazer ViewData.ModelStatee se quiser exibir alguma marcação condicional nos erros, você pode fazer assim:@if (!ViewData.ModelState.IsValid)
The Muffin Man