I would use the html helper, which you could call the following:
@Html.BootStrapValidationSummary();
Here is the code:
public static MvcHtmlString BootStrapValidationSummary(this HtmlHelper htmlHelper) { var sb = new StringBuilder(); var anyErrors = ViewData.ModelState.Values.Where( v => v.Errors.Count != 0 ).Any(); var divBeginTag = @"<div class=""alert alert-danger"">"; var divEndTag = @"</div>"; if (anyErrors) { sb.AppendLine(divBeginTag); sb.AppendLine(htmlHelper.ValidationSummary()); sb.AppendLine(divEndTag); return new MvcHtmlString(sb.ToString()); } else { return new MvcHtmlString(sb.ToString()); } }
This is a faster way, but it looks like a hack (I personally hate using if statements in views):
@{ var anyErrors = ViewData.ModelState.Values.Where( v => v.Errors.Count != 0 ).Any(); } @if (anyErrors) { <div class="alert alert-danger"> @Html.ValidationSummary(); </div> }
hutchonoid
source share