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();
);
举例看看
追答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
)
希望对你有帮助
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不使用submit提交 使用button按钮提交 以及使用ajax验证用户名
jQuery Validate:submitHandler 提交表单而不点击 form.submit