即使在页面加载时,也始终显示Html.ValidationSummary(false,"message")

Mon*_*per 42 validation asp.net-mvc validationsummary

我正在使用客户端验证,我希望以下消息仅在我出错时显示.我试图在任何字段无效的情况下使用此一般错误.
目前

"*表示必填项"

在验证之前总是显示.

<%: Html.ValidationSummary(false, "* denotes required field.")%>
Run Code Online (Sandbox Code Playgroud)

我正在使用模型绑定在客户端和MVC上执行验证.

Rya*_*ill 83

如果您在浏览器中使用开发人员工具来检查验证摘要文本,您会看到它在清除时有类,但是在有表单错误时.validation-summary-validvalidation-summary-errors

因此,只需创建一个css规则如下;

.validation-summary-valid {
    display:none;
}
Run Code Online (Sandbox Code Playgroud)

一切都应该是好的.

  • 为什么它不在默认样式表中呢? (22认同)
  • 好吧,如果启用了客户端验证,它们就无法像服务器端那样从页面中删除div,因为js需要能够显示和隐藏它.他们本来可以使用display:none来隐藏它,但是他们使用的是一个类,它可以让你更好地控制样式(以你的方式设置样式表规则为代价). (3认同)
  • 为什么这个框架需要一条消息来总结有效和无效的模型? (2认同)