我有一个视图(为简单起见,跳过冗余代码):
@model CompetencyModel
@using (Html.BeginForm())
{
@Html.ValidationSummary()
@Html.EditorFor(model => model.Results)
}
当我提交时,如果EditorFor
内的验证失败,则ValidationSummary 会显示来自EditorFor
的每个项目的所有验证消息的列表。
此屏幕截图是一个视图,其中EditorFor
是带有单选按钮的单行:
但我需要一个单个错误消息,只是说某些内容失败了。我试过了:
@Html.ValidationSummary(true)
@Html.EditorFor(model => model.Results)
但它并没有显示任何东西。我试过了
@Html.ValidationSummary(true)
@Html.EditorFor(model => model.Results)
@Html.ValidationMessageFor(model => model.Results, "ERROR !!!")
但它没有显示任何内容。
我做错了什么?谢谢。
解决方案 这样就可以了。
<style>.validation-summary-errors ul { display: none; }</style>
@Html.ValidationSummary("Can't save, you must answer all questions !!")
答案 0 :(得分:3)
ValidationExtensions.ValidationSummary method将始终返回无序的项目列表。
另一个人问这个问题并选择使用JQuery来隐藏这些项目: https://stackoverflow.com/a/10837702/1220302
您可以做的另一个解决方案是仅使用CSS的nth-child伪标记显示列表中的第一项。这当然取决于您使用的浏览器版本:
我认为是这样的:
.validation-summary-errors ul li:nth-child(-n+1) {
display:none;
}
答案 1 :(得分:1)
我认为您可以使用以下规则隐藏除第一个以外的所有邮件:
THREE.Color()