始终显示验证错误

时间:2015-11-27 15:46:29

标签: asp.net-mvc validation

我有一个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用于验证目的,因此它不会传递给视图。

1 个答案:

答案 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" })    
}