可以将ValidationSummary(true)和ModelState.AddError(“field”,“error”)组合起来?

时间:2012-07-06 23:10:49

标签: asp.net-mvc asp.net-mvc-3

  • 我使用ValidationSummary(true)来印刷模型验证错误 每个字段附近有一个地方和财产验证错误。

  • 在控制器中添加属性错误:ModelState.AddError(“property”,“error”)

    我看到该属性的消息验证错误,但我也得到了validation-summary-errors div,尽管我没有模型错误。 我做错了什么,如果我没有模型错误,为什么会产生div?

    <div class="validation-summary-errors">
        <ul>
              <li style="display:none"></li>
        </ul>
    </div>
    

1 个答案:

答案 0 :(得分:3)

你必须像这样添加两次:

string errorMessage = "The error message";
//will show in the summary
ModelState.AddModelError(string.Empty, errorMessage);
//will show for the prop
ModelState.AddModelError("Prop", errorMessage);

或者你可以改变你的电话:

@Html.ValidationSummary(false)

将参数更改为false将包括所有属性错误。 ValidationSummary中的参数名称为excludePropertyErrors,因此传递true即表示您排除它们。