我有一个MVC 5应用程序。我正在尝试使用我的viewmodel属性应用验证。例如。我的字段是必需的。但由于某种原因,在用户可以输入任何内容之前,最初会显示空字段上的错误。你能解释一下吗?
@Html.ValidationSummary(false, "Please fix the errors:", new { @class = "text-danger" })
<div class="form-group">
@Html.LabelFor(model => model.FileToUpload, htmlAttributes: new { @class = "control-label col-md-2" })
<div class="col-md-10">
@Html.TextBox("FileToUpload", "", new { @type = "file", @class = "input-xlarge form-control" })
@Html.ValidationMessageFor(model => model.FileToUpload, "*", new { @class = "text-danger" })
</div>
</div>
...
public ActionResult Index()
{
return View();
}
我仅将我的viewmodel用于验证目的,因此它不会传递给视图。
答案 0 :(得分:1)
正如我所评论的,一个解决方案是添加以下css:
.validation-summary-valid
{
display:none;
}
但另一种方法是检查视图中是否有错误然后显示:
@if (ViewData.ModelState.Any(x => x.Value.Errors.Any()))
{
@Html.ValidationSummary(false, "Please fix the errors:", new { @class = "text-danger" })
}