假设您有一个标准的ValidationSummary:

<%: Html.ValidationSummary(excludePropertyErrors: true) %>

如果ModelState包含属性的模型错误而不包含模型本身的错误,则ValidationSummary呈现以下HTML:
<div class="validation-summary-errors"><ul><li style="display:none"></li></ul></div>

它显示为空列表,但由于列表周围的红色边框而仍然可见。对我来说,这似乎是个错误。我可以关闭ValidationSummary帮助程序来呈现一个空列表吗?

最佳答案

与usr的答案类似,我使用以下命令解决了这个问题:

public static IHtmlString FixedValidationSummary(this HtmlHelper htmlHelper)
{
    return htmlHelper.FixedValidationSummary(false);
}

public static IHtmlString FixedValidationSummary(this HtmlHelper htmlHelper,
    bool excludePropertyErrors)
{
    var result = htmlHelper.ValidationSummary(excludePropertyErrors);
    return result == null || result.ToString().Contains("display:none") ? null : result;
}

这样,我不必真正地 fork 原始文件。

同意,但是,这很烦人。

关于asp.net-mvc - 如果模型无效,则带有excludePropertyErrors = true的ASP.NET MVC Validationsummary呈现空,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3849553/

10-09 23:35