My approach is to use a custom ValidationSummary.cshtml
:
@model ModelStateDictionary
@if(!Model.IsValid)
{
<div class="validation-summary-errors">
<ul>
@foreach (var modelError in
Model.SelectMany(keyValuePair => keyValuePair.Value.Errors))
{
<li>@modelError.ErrorMessage</li>
}
</ul>
</div>
}
Put this partial view in your Shared folder and refer to it from your code:
@Html.Partial("_ValidationSummary", ViewData.ModelState);
This way you remain in full control of your html.