如何检查 ModelState 是否包含不是属性的错误
How to check if ModelState contains errors which are not properties
在视图中我有以下错误助手
@Html.ValidationSummary(true)
其中,如果某些 属性 未通过验证,则显示以下 html
<div class="validation-summary-errors">
<ul>
<li style="display:none"></li>
</ul>
</div>
我为此 class 定制了 css,带有红色边框背景,问题是即使没有向用户显示错误文本,仍然显示红色边框。
我能否以某种方式防止显示以下错误 html?喜欢
@if (Html.ModelState.ContainsNonPropertyErrors() == true)
{
Html.ValidationSummary(true)
}
// 或检查 ModelState 错误数组是否包含空键,因为这些是自定义消息。
另外,我能否以某种方式检查表单是否已提交以显示成功消息?
例如
@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}
)
你是怎么做到的?
好的,我想我有可行的解决方案
@if (ViewData.ModelState.Keys.Contains(string.Empty))
{
@Html.ValidationSummary(true)
}
在视图中我有以下错误助手
@Html.ValidationSummary(true)
其中,如果某些 属性 未通过验证,则显示以下 html
<div class="validation-summary-errors">
<ul>
<li style="display:none"></li>
</ul>
</div>
我为此 class 定制了 css,带有红色边框背景,问题是即使没有向用户显示错误文本,仍然显示红色边框。
我能否以某种方式防止显示以下错误 html?喜欢
@if (Html.ModelState.ContainsNonPropertyErrors() == true)
{
Html.ValidationSummary(true)
}
// 或检查 ModelState 错误数组是否包含空键,因为这些是自定义消息。
另外,我能否以某种方式检查表单是否已提交以显示成功消息?
例如
@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}
)
你是怎么做到的?
好的,我想我有可行的解决方案
@if (ViewData.ModelState.Keys.Contains(string.Empty))
{
@Html.ValidationSummary(true)
}