【发布时间】:2017-04-22 15:31:43
【问题描述】:
在视图中我有以下错误助手
@Html.ValidationSummary(true)
如果某些属性未验证,则显示以下 html
<div class="validation-summary-errors">
<ul>
<li style="display:none"></li>
</ul>
</div>
我有这个类的自定义 css,带有红色边框背景,问题是即使没有向用户显示错误文本,仍然显示红色边框。
我能以某种方式阻止显示以下错误 html 吗?喜欢
@if (Html.ModelState.ContainsNonPropertyErrors() == true)
{
Html.ValidationSummary(true)
}
// 或检查 ModelState Error 数组是否包含空键,因为这些是自定义消息。
另外,我可以以某种方式检查表单是否已提交以显示成功消息?
例如
@if (Html.ModelState.FormWasSubmitted() == true)
{
if (Html.ModelState.ContainsNonPropertyErrors() == true)
{
Html.ValidationSummary(true)
} else {
Html.Raw("Operation was successfull.")
}
}
或者在 ViewModel 中有 model.successfullMessage 属性是一个好习惯? (并查看类似 @if(ModelState.IsValid) {@Model.successfullMessage} 的内容)
你是怎么做到的?
【问题讨论】:
-
只需设置
<ul>元素的样式 -.validation-summary-errors > ul { border: ... } -
aah 一如既往的简单 :-) 谢谢
标签: asp.net-mvc validation error-handling modelstate