Проверьте, имеет ли Html.ValidationSummary () значение - PullRequest
31 голосов
/ 05 ноября 2010

Как я могу проверить, есть ли в Html.ValidationSummary () ошибки?

Требуется максимальный результат:

<% if(I_HAVE_ERRORS) {%>
<div><%= Html.ValidationSummary() %></div>
<%}%>

Другими словами, как я могу определить "I_HAVE_ERRORS"?

Ответы [ 4 ]

56 голосов
/ 07 декабря 2010
<%if (!Html.ViewData.ModelState.IsValid){%>
7 голосов
/ 04 октября 2015

Для использования с razor синтаксисом

@if (!Html.ViewData.ModelState.IsValid)
{
    // show error
}

или вы можете обернуть его как метод расширения

public static bool HasErrors(this HtmlHelper helper)
{
    return helper.ViewData.ModelState.IsValid == false;
}

Используйте как

@if (Html.HasError())
{
    // show error
}
0 голосов
/ 09 июля 2019

Если вам нужно проверить ошибки, не связанные с какими-либо конкретными полями, вы можете попробовать это:

@if(Html.ViewData.ModelState.ContainsKey(string.Empty))
{
    <div class="panel panel-danger">
        <div class="panel-heading">
            @Html.ValidationSummary(true)
        </div>
    </div>
}
0 голосов
/ 27 июля 2018

На самом деле, я думаю, что наиболее правильный способ проверки ошибок валидации (а не только автоматически сгенерированных на основе модели) будет:

@if (Model.ViewData.ModelState.ErrorCount > 0)
{
}

Таким образом, он будет включать сгенерированные пользователем ошибки модели.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...