javascript - jQuery validate plugin - 如何关闭非提交验证结果?

标签 javascript forms jquery jquery-validate

我将 jquery 验证插件与 jQuery 表单插件一起使用。

我打开了电子邮件格式验证,它可以在运行时开始验证电子邮件并立即告诉用户他/她输入了无效的电子邮件格式。

但是这个检查也会触发错误消息框是不对的——有没有办法强制 validation() 在输入旁边显示错误标签,但同时又不显示错误标签?开火/显示错误框? (结果) 。我想在用户单击提交按钮后向结果框中添加任何内容 - 这可能吗?

编辑:我认为很清楚,显然不是,所以我添加了这段代码:)

编辑 3: 我要去的地方:我确实想要 target: .result 中的消息,但只有在单击提交按钮之后 - 不是任何时候都应该是现在更清楚了:)

      var zadost = $("#validate_zadost").validate({
          focusInvalid: false,
          submitHandler: function(form) {
                  $(form).ajaxSubmit({
                          target: ".result",
                          success: function(){ zadost.resetForm(); }
                  });
          },
          showErrors: function(errorMap, errorList) {
            $(".result")
              .html("<div class='error_box'><h1>Nebyly vyplňeny povinné údaje nebo byly vyplňeny špatně!</h1><p>Žádost nebyla odeslána - prosím doplňte povinné údaje (ve správném formátu). (červeně zvýrazněny)</p></div>");
            this.defaultShowErrors();
          },
          errorPlacement: function(error, element) { //error message and JQUERY element coming...
            if( element.is(':checkbox') ) error.insertBefore(element).addClass('zadostErrorCheckbox');
              else error.insertAfter(element);
          }

  });

最佳答案

See the documentation.

引用标题:

"how to turn off non-submit validation results?"

听起来你想关闭所有“事件”......

$('#myform').validate({
    // options & rules,
    onkeyup: false,    // prevent validation on every key up
    onfocusout: false, // prevent validation after leaving field
    onclick: false     // prevent validation when clicking radio and checkbox
});

不要使用 onsubmit 选项,因为它已经是默认行为(将其设置为 true 会破坏插件)。

引用 OP:

"However it is not OK that this check also fires up the error message box - is there a way to force validate() to show error labels next to inputs but at the same time to not to fire/show error_box? (in result). I want to add anything to the result box AFTER user clicks the submit button - is it possible?"

我看不到您的代码,所以我不知道您做了什么,但是,仅在输入字段旁边显示错误消息标签 默认 行为。您的代码中的某些东西一定会导致此处发生其他事情。

编辑:如果您不想显示错误框并且只在输入元素旁边的标签中显示错误,请删除整个showErrors 回调函数。

关于javascript - jQuery validate plugin - 如何关闭非提交验证结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18828191/

相关文章:

reactjs - 重新混合表单禁用在没有 useState 的情况下提交

jquery - jquery 插件中 "this"元素的范围

javascript - CSS触摸像使用鼠标滚动

javascript - 现在是否需要使用 getElementBy* 方法

javascript - 使用 Javascript 选择单个表单

jQuery 移动元素类型更改后的 div

javascript - 如何使用 javascript/jquery 仅显示具有特定类的 li?

javascript - 如何更新多张图片的 'src'属性?

javascript - 在同构应用程序上 react 路由器 redux 初始状态设置

javascript - 使用 Javascript 编写 ASP 风格的 cookie(带键);使用经典 ASP 阅读