2010-11-05 23 views
30

¿Cómo puedo verificar si Html.ValidationSummary() tiene algún error?Comprobar si Html.ValidationSummary() tiene un valor

resultado final requerido:

<% if(I_HAVE_ERRORS) {%> 
<div><%= Html.ValidationSummary() %></div> 
<%}%> 

En otras palabras, ¿cómo puedo determinar "I_HAVE_ERRORS"?

+7

Para referencia futura: a mostrar solo errores que no sean modelos (cuando el nombre de la propiedad es string.Empty): '@if (this.Html.ViewData.ModelState.Any (m => m.Key == string.Empty)) {@ this.Html.ValidationSummary (true)}' –

Respuesta

50
<%if (!Html.ViewData.ModelState.IsValid){%> 
+0

Gracias, esto ¡me ayudo mucho! – user65439

+4

Esto todavía funciona a partir de MVC 5 –

3

para usar con razor sintaxis

@if (!Html.ViewData.ModelState.IsValid) 
{ 
    // show error 
} 

o se puede envolver como un método de extensión

public static bool HasErrors(this HtmlHelper helper) 
{ 
    return helper.ViewData.ModelState.IsValid == false; 
} 

utilizarlo como

@if (Html.HasError()) 
{ 
    // show error 
} 
Cuestiones relacionadas