加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

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

发布时间:2020-12-15 22:45:13 所属栏目:asp.Net 来源:网络整理
导读:我遇到问题,让asp.net mvc客户端验证工作我想要它. 我有它基本上工作,但是,直到用户单击提交按钮,验证摘要才会显示,即使个人输入被突出显示为无效的用户选项卡/点击等方式通过窗体.这正在客户端发生. 我会想到,一旦发现输入字段无效,验证摘要就会显示. 这是
我遇到问题,让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;
};

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读