ASP.NET MVC bringt in der Beta bereits einen Helper namens "ValidationSummary" mit, der eine ungeordnete Liste mit Fehlern darstellt, die sich über eine vordefinierte CSS-Klasse auch stylen lässt. Allerdings ist man dadurch nicht besonders flexibel was das Erscheinungsbild angeht, möchte man das Ganze mit abgerundeten Ecken darstellen, werden beispielsweise noch zwei äußere Container notwendig.
1: public static string CustomValidationSummary(this HtmlHelper html)
2: {
3:
4: if (html.ViewData.ModelState.IsValid)
5: return null;
6:
7: StringBuilder summary = new StringBuilder();
8:
9: summary.Append("<div class=\"CssErrorContainer630\">");
10: summary.Append("<div class=\"CssErrorContainer630Inline\">");
11: summary.Append("<ul>");
12:
13: foreach (var state in html.ViewData.ModelState)
14: {
15: foreach (var error in state.Value.Errors)
16: {
17: summary.AppendFormat("<li>{0}</li>", error.ErrorMessage);
18: }
19: }
20:
21: summary.Append("</ul>");
22: summary.Append("</div>");
23: summary.Append("<div class=\"CssErrorContainer630Bottom\"></div>");
24: summary.Append("</div>");
25:
26: return summary.ToString();
27:
28: }
Das Ergebnis ist im Vergleich zum Standard-Summary (oben) im Screenshot schön zu sehen: