jquery.validate不用submit提交,用js提交的,怎么触发验证啊?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jquery.validate不用submit提交,用js提交的,怎么触发验证啊?相关的知识,希望对你有一定的参考价值。

用 button.click提交。

举例如下:

$("#form").validate();

$("#btn).click(function()

   if($("#form").valid())

    $("#form").submit();

);

jQuery Validate 插件为表单提供了强大的验证功能,让客户端表单验证变得更简单,同时提供了大量的定制选项,满足应用程序各种需求。

该插件捆绑了一套有用的验证方法,包括 URL 和电子邮件验证,同时提供了一个用来编写用户自定义方法的 API。所有的捆绑方法默认使用英语作为错误信息,且已翻译成其他 37 种语言。

扩展资料

query-validate 插件

基本用法:

1、页面中引入js依赖,因为validate是依赖jquery的需要先引入jquery。

2、表单校验,首先得有一个表单,即form标签,然后由于浏览器是通过name属性来提交表单数据的,所以需要给校验的控件都加上name属性。

rules里每个控件可以给多个验证方式,常用的有:

1、required 必填验证元素。

2、minlength(length) maxlength(length)。

3、rangelength(range)设置最小长度、最大长度和长度范围 [min,max]。

4、min(value) max(value) range(range) 设置最大值、最小值和值的范围。

5、email() 验证电子邮箱格式。

参考技术A remote: "check-email.php"  
remote:   
    url: "check-email.php",     //后台处理程序  
    type: "post",               //数据发送方式  
    dataType: "json",           //接受数据格式     
    data:                      //要传递的数据  
        username: function()   
            return $("#username").val();  
          
      

使用上面的ajax方式提交,默认会验证,并提交验证的值。如果有其它要提交的值,使用data选项添加。

参考技术B 用 button.click
提交追问

举例看看

追答

$("#form").validate();
$("#btn).click(function()
if($("#form").valid())
$("#form").submit();

);

本回答被提问者采纳
参考技术C jquery.validate可返回验证是否通过,拿到验证结果 在js提交中进行你要做的 提交 试试吧追问

举例看看

追答

1.用其他方式替代默认的SUBMIT
$().ready(function()
$("#signupForm").validate(
submitHandler:function(form)
alert("submitted");
form.submit();

);
);
可以设置validate的默认值,写法如下:
$.validator.setDefaults(
submitHandler: function(form) alert("submitted!");form.submit();
);
如果想提交表单, 需要使用form.submit()而不要使用$(form).submit()

2.debug,如果这个参数为true,那么表单不会提交,只进行检查,调试时十分方便
$().ready(function()
$("#signupForm").validate(
debug:true
);
);
如果一个页面中有多个表单,用
$.validator.setDefaults(
debug: true
)

希望对你有帮助

参考技术D $("表单选择器").valid(),这个就是js验证表单。如下例子:

function submit()
if($("form").valid())
//在此处提交
alert("提交成功");

else
alert("提交失败");

jQuery Validate 提交表单验证失败扩展方法

由于Validate没有提供表单提交过后,验证不通过触发方法。这里做一下扩展。


引用场景:每次提交表单元素验证不通过触发方法


打开源代码 找到focusInvalid 方法, 这里是提交表单时验证不通过触发方法,在这里做扩展是就好不 过的。

focusInvalid: function() {

if ( this.settings.focusInvalid ) {

try {

$(this.findLastActive() || this.errorList.length && this.errorList[0].element || [])

.filter(":visible")

.focus()

.trigger("focusin");

/*  扩展方法failedCallback */

var failedCallback=this.settings.failedCallback;  

           if($.type(failedCallback)===‘function‘){  

               failedCallback(this.errorList);  

             } 

} catch(e) {


}

}

}



使用  

 $(‘#editForm‘).validate(

      {   

           rules:..... ,

           failedCallback:function(errorList){

      // 循环验证失败元素   

for(var i=0; i<errorList.length; i++){

       var  element=errorList[0].element;

       if($(element).attr("name") == ‘birthday‘){

          ........................................ 

           }

        }

           }   

     } 

);





本文出自 “简洁” 博客,请务必保留此出处http://201510240609.blog.51cto.com/5178830/1933670

以上是关于jquery.validate不用submit提交,用js提交的,怎么触发验证啊?的主要内容,如果未能解决你的问题,请参考以下文章

jquery validate用法总结

jquery.validate不使用submit提交 使用button按钮提交 以及使用ajax验证用户名

jQuery Validate:submitHandler 提交表单而不点击 form.submit

我在表单上使用 jquery .validate() 后 jQuery .submit() 不起作用

jquery.validate.min.js表单验证问题

jquery validate 无效