jquery validate让普通按钮触发表单验证

一般的表单校验都是直接注册在页面上的匿名函数,导致只能通过固定的提交方式触发表单校验,如果想自定义一个按钮触发表单校验如何实现呢?

目前写法:
$(function(){
  $("#form").validate({
     rules : {
            user_name : {
                required : true
            },
            ……
        },
        messages : {
            user_name : {
                required : '用户名必填',
            },
            ……
        }
  });
});

改写方法:
//编写表单验证函数validform,在验证按钮注册按钮点击事件内调用验证函数对象
function validform(){
  /*关键在此增加了一个return,返回的是一个validate对象,这个对象有一个form方法,返回的是是否通过验证*/
  return $("#form").validate({
     rules : {
            user_name : {
                required : true
            },
            ……
        },
        messages : {
            user_name : {
                required : '用户名必填',
            },
            ……
        }
  });
}
//注册表单验证
$(validform());
以上部分已经实现匿名函数的作用,下面介绍如何通过普通按钮实现表单验证
$("#btn").click(function(){
    if(validform().form()) {
        //通过表单验证,以下编写自己的代码
    } else {
        //校验不通过,什么都不用做,校验信息已经正常显示在表单上
    }
});

你可能感兴趣的:(jquery validate让普通按钮触发表单验证)