asp.net-mvc-3 – asp.net mvc 3验证摘要不显示通过不显眼的验证

我遇到问题,让asp.net mvc客户端验证工作我想要它.

我有它基本上工作,但是,直到用户单击提交按钮,验证摘要才会显示,即使个人输入被突出显示为无效的用户选项卡/点击等方式通过窗体.这正在客户端发生.

我会想到,一旦发现输入字段无效,验证摘要就会显示.

这是设计的这个行为吗?有没有办法,因为我想要一旦发现其中一个输入字段无效,就会显示验证摘要.

我的代码基本上是,

<script src="@Url.Content("~/Scripts/jquery.validate.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery.validate.unobtrusive.js")" type="text/javascript"></script>
...
    @using (Html.BeginForm())
    {
        @Html.ValidationSummary(false)
        @Html.EditorFor(model => model);   
        ...

而我的_Layout.cshtml引用了jquery-1.4.4.min.js.

此外,这是我在StackOverflow上的第一个问题 – 我希望我已经做到了.

解决方法

您可以将验证摘要设置为更频繁地被触发,即:
var validator = $('form').data('validator');
validator.settings.showErrors = function (map,errors) {
    this.defaultShowErrors();
    this.checkForm();
    if (this.errorList.length)
        $(this.currentForm).triggerHandler("invalid-form",[this]);
    else
        $(this.currentForm).resetSummary();
    }
}

这是上面使用的resetSummary:

jQuery.fn.resetSummary = function () {
    var form = this.is('form') ? this : this.closest('form');
    form.find("[data-valmsg-summary=true]")
        .removeClass("validation-summary-errors")
        .addClass("validation-summary-valid")
        .find("ul")
        .empty();
    return this;
};

相关文章

### 创建一个gRPC服务项目(grpc服务端)和一个 webapi项目(...
一、SiganlR 使用的协议类型 1.websocket即时通讯协议 2.Ser...
.Net 6 WebApi 项目 在Linux系统上 打包成Docker镜像,发布为...
一、 PD简介PowerDesigner 是一个集所有现代建模技术于一身的...
一、存储过程 存储过程就像数据库中运行的方法(函数) 优点:...
一、Ueditor的下载 1、百度编辑器下载地址:http://ueditor....