I need to wrap the Validation Summary in a div. How do I set the Validation Summary to wrap it with a div when errors are present?
What you can do is this :
<%if (!ViewData.ModelState.IsValid) { %>
<div class="validation-summary">
<%= Html.ValidationSummary(
"Login was unsuccessful. Please correct the errors and try again.") %>
</div>
<% } %>
For MVC 2, ValidationSummary is a extension method, you must add
using System.Web.Mvc.Html;
Use this CSS for li tag for example...
.validation-summary-errors ul li {color:Red;}
I had to extend the validation summary extensions in another project of mine to deal with more than one form on a page.
Although this is different, you could create your own extension method...
namespace System.Web.Mvc
{
public static class ViewExtensions
{
public static string MyValidationSummary(this HtmlHelper html, string validationMessage)
{
if (!html.ViewData.ModelState.IsValid)
{
return "<div class=\"validation-summary\">" + html.ValidationSummary(validationMessage) + "</div>"
}
return "";
}
}
}
Then just call
<%= Html.MyValidationSummary(
"Login was unsuccessful. Please correct the errors and try again.") %>
HTHs, Charles