您的位置:首页 > Web前端 > JQuery

表单验证插件jquery.validate的使用方法演示

2015-07-21 09:44 1001 查看


jQueryValidate表单验证效果

jquery.validate验证错误信息的样式控制

<!--validate验证插件的基础样式-->

input.error{border: 1px solid red}

label.error{

background:url("../images/unchecked.gif") no-repeat 0px 0px;

padding-left:16px;

padding-bottom:2px;

font-weight:bold;

color:#ea5200;

}

label.checked {

background:url("../images/checked.gif") no-repeat 0px 0px;

}

需要的图标:红色的×和绿色的√

引入jquery.validate插件文件

<script src="exp99.com/validate/jquery.min.js"></script><!--jquery库文件-->

<script src="exp99.com/validate/jquery.validate.min.js"></script><!--validate插件-->

<script src="exp99.com/validate/language.validate.js"></script><!--语言汉化-->

待验证的表单控件HTML结构

<form method="post" id="myForm">

<input type="text" name="name" class="required">

<input type="text" name="email" class="required email">

<input type="password" name="password" class="{required:true,minlength:5}" />

<input type="submit" />

</form>

jquery.validate插件常用的验证写法

validate验证规则写在表单控件里(如上面的html结构)

validate验证规则写在js代码

$(function(){

$("#myform").validate({

rules: {

firstname: "required",

email: {required: true, email: true},

password: {required: true, minlength: 5}

},

//指定错误显示的位置

errorPlacement: function(error, element) {

if (element.attr("name") == "username" ) {//控件的name

error.appendTo("#error_username");//显示错误的容器

}

else

error.insertAfter(element);

}

});

})

说明:使用class="{}"的验证方式,必须引入包:jquery.metadata.js

jquery.validate插件开始表单验证

$(function(){

//默认submit提交

if($('#myForm').valid()){//如果验证通过

//do sth here

console.log('验证通过!');

}

//通过外部方式代替submit提交

$("#myForm").validate({

submitHandler:function(form){

form.submit();

}

});

})

以上就是常规的验证部署方法。下面了解下jquery.validate强大之处!

默认的检验规则

规则描述
1required:true必须输入的字段。
2remote:"check.php"使用 ajax 方法调用 check.php 验证输入值。
3email:true必须输入正确格式的电子邮件。
4url:true必须输入正确格式的网址。
5date:true必须输入正确格式的日期。日期校验 ie6 出错,慎用。
6dateISO:true必须输入正确格式的日期(ISO),例如:2009-06-23,1998/01/22。只验证格式,不验证有效性。
7number:true必须输入合法的数字(负数,小数)。
8digits:true必须输入整数。
9creditcard:必须输入合法的信用卡号。
10equalTo:"#field"输入值必须和 #field 相同。
11accept:输入拥有合法后缀名的字符串(上传文件的后缀)。
12maxlength:5输入长度最多是 5 的字符串(汉字算一个字符)。
13minlength:10输入长度最小是 10 的字符串(汉字算一个字符)。
14rangelength:[5,10]输入长度必须介于 5 和 10 之间的字符串(汉字算一个字符)。
15range:[5,10]输入值必须介于 5 和 10 之间。
16max:5输入值不能大于 5。
17min:10输入值不能小于 10。

jquery.validate已有的验证规则

/*validator 语言包*/

jQuery.extend(jQuery.validator.messages, {

required:"必填字段",

remote: "请修正该字段",

email: "请输入正确格式的电子邮件",

url: "请输入合法的网址",

date: "请输入合法的日期",

dateISO: "请输入合法的日期 (ISO).",

number: "请输入合法的数字",

digits: "只能输入整数",

creditcard: "请输入合法的信用卡号",

equalTo: "请再次输入相同的值",

accept: "请输入拥有合法后缀名的字符串",

maxlength: jQuery.validator.format("请输入一个 长度最多是 {0} 的字符串"),

minlength: jQuery.validator.format("请输入一个 长度最少是 {0} 的字符串"),

rangelength: jQuery.validator.format("请输入 一个长度介于 {0} 和 {1} 之间的字符串"),

range: jQuery.validator.format("请输入一个介于 {0} 和 {1} 之间的值"),

max: jQuery.validator.format("请输入一个最大为{0} 的值"),

min: jQuery.validator.format("请输入一个最小为{0} 的值")

});

添加jquery.validate的自定义校验

语法:addMethod:name, method, message
举例:中文的验证

// 中文的验证

jQuery.validator.addMethod("chinese", function(value, element) {

var chinese = /^[\u4e00-\u9fa5]+$/;

return this.optional(element) || (chinese.test(value));

}, "只能输入中文");

jquery.validate表单验证通过了却无法提交?

原因:由于表单验证插件在验证的时候开启了debug模式的缘故,屏蔽掉这句代码://debug:true;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: