Как расширить ValidationSummary HTML Helper в ASP.NET MVC? - PullRequest
14 голосов
/ 28 мая 2009

Мне нужно обернуть итоги проверки в div . Как настроить сводку проверки, чтобы обернуть ее div при наличии ошибок?

<div class="validation-summary"> 
  <%= Html.ValidationSummary("Login was unsuccessful. Please correct the errors and try again.") %>
</div>

Ответы [ 4 ]

24 голосов
/ 28 мая 2009

Мне пришлось расширить сводки проверки в другом моем проекте, чтобы иметь дело с несколькими формами на странице.

Хотя это не так, вы можете создать свой собственный метод расширения ...

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 "";
        }
    }
}

Тогда просто позвоните

<%= Html.MyValidationSummary(
    "Login was unsuccessful. Please correct the errors and try again.") %>

HTHS, Charles

12 голосов
/ 28 мая 2009

Что вы можете сделать, это:

<%if (!ViewData.ModelState.IsValid) { %>
<div class="validation-summary"> 
    <%= Html.ValidationSummary(
        "Login was unsuccessful. Please correct the errors and try again.") %>
</div>
<% } %>
5 голосов
/ 10 сентября 2010

Для MVC 2 ValidationSummary является методом расширения, вы должны добавить

using System.Web.Mvc.Html;
0 голосов
/ 12 июня 2011

Используйте этот CSS для тега li, например ...

.validation-summary-errors ul li {color:Red;}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...