【问题标题】:jQuery Validate Unobtrusive - hook into error event of an individual inputjQuery Validate Unobtrusive - 挂钩单个输入的错误事件
【发布时间】:2013-10-31 17:54:12
【问题描述】:

我正在使用 ASP.NET MVC 构建一个站点,并且正在使用 jQuery validate unobtrusive 库。我想知道是否有办法挂钩显示验证消息的事件,例如在用户输入无效内容的那一刻(与他们单击提交按钮的那一刻相反)。

我想这样做的原因是因为我正在设置错误消息的样式,例如出现在有错误的字段上方的迷你弹出窗口 - 即使用绝对定位。由于单个字段可能有各种不同的验证错误,我希望能够正确设置字段的位置,以考虑消息的可变高度。我还需要处理此事件,以便为输入元素周围的红色边框应用一个类。

【问题讨论】:

    标签: jquery asp.net-mvc jquery-validate unobtrusive-validation


    【解决方案1】:

    这里有一个很棒的脚本:https://gist.github.com/beccasaurus/957732/,它为 jQuery.validate 中的不同事件设置挂钩。它可以让您绑定到一堆不同的事件,在您的情况下,它看起来像这样:

    $(function () {
        $('form').addTriggersToJqueryValidate();
        $('form').bind("elementValidation", function (event, element, result) {
            console.log("Something is invalid");
        });
    })
    

    非常方便!

    【讨论】:

      【解决方案2】:

      当用户移动到表单中的下一个元素时,您可以验证并形成元素

      $("form#myformid").validate().element("#ModelObject_NameofField");
      

      并使用上一个答案中所示的每个元素的错误放置

      jquery - how to use errorPlacement for a specific element?

      您的弹出窗口<div/> 应该随着其中的文本一起增长,因此您只需要将左下角或右下角锚定在元素旁边。

      【讨论】:

      • 我不想触发元素的验证,而是需要在发生这种情况时处理事件。
      • 您是否尝试创建自己的方法来验证输入
      • 不,没有自定义验证器。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2010-12-23
      • 1970-01-01
      • 2013-04-01
      • 2011-05-16
      • 2015-09-22
      • 2017-01-08
      相关资源
      最近更新 更多