关于模糊的jquery验证插件

时间:2017-12-04 14:12:00

标签: jquery forms jquery-validate

朋友我是javascripting&的新手jQuery并需要你的帮助来解决2个问题。我正在使用 jquery验证插件 https://jqueryvalidation.org来处理在不同页面上包含多个表单的项目。

问题#1

我添加了一个已经有

的自定义JS文件
$(document).ready(function() {
  //some codes
});

要在不同页面上执行具有不同属性的此插件,需要在document.ready中初始化它。

$(document).ready(function() {
  $("#theForm").validate();
});

这样就可以将文档准备好2次了吗?

问题#2

此插件在单击提交按钮后有效。我希望它还为输入字段验证 onblur 。它还具有在 onfocusout 上验证的属性,但在单击提交按钮后也可以处理错误。 那么在单击提交按钮之前,是否还要使验证也适用于模糊或聚焦

任何帮助都将受到高度赞赏。提前谢谢你的朋友。

2 个答案:

答案 0 :(得分:2)

是的,是的。您可以在页面上添加任何$(document).ready();。在定义方法时,需要在DOM中呈现元素之前的函数。

如果你把你的javascript放在页面的最底部(在你的html元素渲染之后),你可以保留它。

例如,在这种情况下,它需要:

<script>
   //before create the element
   $(function() { //same as document ready
       $('#element').on('click', function () {
          alert('Hi');
       });
   });
</script>

<div id="element">some text</div>

但在这种情况下不是:

<div id="element"></div>
<script>
   //Your element has already rendered
   $('#element').on('click', function () {
      alert('Hi');
   });
</script>

你可以在模糊时使用你的验证。

$('#myInput').on('blur', function() {
   $("#theForm").validate();
});

当你通过javascript操作DOM时,这些是基础知识,这是另一个故事。

答案 1 :(得分:0)

使用此功能验证模糊:

$(document).ready(function() {
    var $theForm = $("#theForm"),
        $form = $theForm.validate();
    //changed to check every textbox type input inside #theForm:
    $theForm.on("blur", "input[type='text']", function(e){
        //use element() to test only one element:
        if ($form.element(this)) {
            console.log("is valid");
        }
    });

});
  

Validator.form()

     

描述:验证表单,如果有效则返回true,false   否则。

  

Validator.element(element)

     

描述:验证单个元素,如果有效则返回true,   否则就是假的。

更多信息:

https://jqueryvalidation.org/Validator.form/

https://jqueryvalidation.org/Validator.element/

工作示例:

https://codepen.io/anon/pen/wPOrrx