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

前端之家收集整理的这篇文章主要介绍了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;
};
原文链接:https://www.f2er.com/aspnet/249536.html

猜你在找的asp.Net相关文章