演示:

http://jquery.bassistance.de/validate/demo/

同样、用前必备
官方网站:http://bassistance.de/jquery-plugins/jquery-plugin-validation/
API: http://jquery.bassistance.de/api-browser/plugins.html
时版:1.5.5
需要JQuery版本:1.2.6+, 兼容 1.3.2
<script src=”../js/jquery.js”
type=”text/javascript”></script>
<script src=”../js/jquery.validate.js”
type=”text/javascript”></script>

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


老三、默认的唤起

messages: {
required: “This field is required.”,
remote: “Please fix this field.”,
email: “Please enter a valid email address.”,
url: “Please enter a valid URL.”,
date: “Please enter a valid date.”,
dateISO: “Please enter a valid date (ISO).”,
dateDE: “Bitte geben Sie ein g眉ltiges Datum ein.”,
number: “Please enter a valid number.”,
numberDE: “Bitte geben Sie eine Nummer ein.”,
digits: “Please enter only digits”,
creditcard: “Please enter a valid credit card number.”,
equalTo: “Please enter the same value again.”,
accept: “Please enter a value with a valid extension.”,
maxlength: $.validator.format(”Please enter no more than {0}
characters.”),
minlength: $.validator.format(”Please enter at least {0}
characters.”),
rangelength: $.validator.format(”Please enter a value between {0} and
{1} characters long.”),
range: $.validator.format(”Please enter a value between {0} and
{1}.”),
max: $.validator.format(”Please enter a value less than or equal to
{0}.”),
min: $.validator.format(”Please enter a value greater than or equal to
{0}.”)
},
即使用修改,可当js代码中在:
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} 的价”)
});
推介做法,将是文件放入messages_cn.js中,在页面中引入
<script src=”../js/messages_cn.js”
type=”text/javascript”></script>

季、使用方法
1.用校验规则写及控件被
<script src=”../js/jquery.js”
type=”text/javascript”></script>
<script src=”../js/jquery.validate.js”
type=”text/javascript”></script>
<script src=”./js/jquery.metadata.js”
type=”text/javascript”></script>
$().ready(function() {
$(”#signupForm”).validate();
});
<form id=”signupForm” method=”get” action=””>
<p>
<label for=”firstname”>Firstname</label>
<input id=”firstname” name=”firstname” />
</p>
<p>
<label for=”email”>E-Mail</label>
<input id=”email” name=”email” />
</p>
<p>
<label for=”password”>Password</label>
<input id=”password” name=”password” type=”password” />
</p>
<p>
<label for=”confirm_password”>确认密码</label>
<input id=”confirm_password” name=”confirm_password”
type=”password” class=”{required:true,minlength:5,equalTo:’#password’}”
/>
</p>
<p>
<input type=”submit” value=”Submit”/>
</p>
</form>
拔取class=”{}”的法,必须引入担保:jquery.metadata.js
可以用如下的计,修改提示内容:
class=”{required:true,minlength:5,messages:{required:’请输入内容’}}”
于使用equalTo关键字时,后边的情必须长引号,如下代码:
class=”{required:true,minlength:5,equalTo:’#password’}”
除此以外一个术,使用要字:meta(为了元数据利用另外插件而如卷入
你的证实规则 在他们协调的门类中好据此是奇特之选)
Tell the validation plugin to look inside a validate-property in
metadata for validation rules.
例如:
meta: “validate”
<input id=”password” name=”password” type=”password” />
再也暴发一样栽形式:
$.metadata.setType(”attr”, “validate”);
如此好应用validate=”{required:true}”的格局,或者class=”required”,但class=”{required:true,minlength:5}”将不起效能
2.用校验规则写及代码中
$().ready(function() {
$(”#signupForm”).validate({
rules: {
firstname: “required”,
email: {
required: true,
email: true
},
password: {
required: true,
minlength: 5
},
confirm_password: {
required: true,
minlength: 5,
equalTo: “#password”
}
},
messages: {
firstname: “请输入人名”,
email: {
required: “请输入Email地址”,
email: “请输入是的email地址”
},
jQuery,password: {
required: “请输入密码”,
minlength: jQuery.format(”密码不克小于{0}个字符”)
},
confirm_password: {
required: “请输入确认密码”,
minlength: “确认密码无可知小于5只字符”,
equalTo: “两糟输入密码无一致不等同”
}
}
});
});
//messages处,假使某个控件没有message,将调用默认的信
<form id=”signupForm” method=”get” action=””>
<p>
<label for=”firstname”>Firstname</label>
<input id=”firstname” name=”firstname” />
</p>
<p>
<label for=”email”>E-Mail</label>
<input id=”email” name=”email” />
</p>
<p>
<label for=”password”>Password</label>
<input id=”password” name=”password” type=”password” />
</p>
<p>
<label for=”confirm_password”>确认密码</label>
<input id=”confirm_password” name=”confirm_password”
type=”password” />
</p>
<p>
<input type=”submit” value=”Submit”/>
</p>
</form>
required:true 必须来价
required:”#aa:checked”表达式的价值吗真,则需要注脚
required:function(){}再次来到吗真正,表时需要验证
末尾两栽常用于,表单中需要同时填或非填的元素

五、常用方法以及注意问题
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
})
3.ignore:忽略某些因素不表明
ignore: “.ignore”
4.errorPlacement:Callback Default: 把错误音讯放在验证的要素前边
指明错误放置的职,默认情况是:error.appendTo(element.parent());即把错误音信放在验证的要素前面
errorPlacement: function(error, element) {
error.appendTo(element.parent());
}
//示例:
<tr>
<td><label id=”lfirstname” for=”firstname”>First
Name</label></td>
<td><input id=”firstname” name=”firstname” type=”text” value=””
maxlength=”100″ /></td>
<td></td>
</tr>
<tr>
<td style=”padding-right: 5px;”>
<input id=”dateformat_eu” name=”dateformat” type=”radio” value=”0″
/>
<label id=”ldateformat_eu”
for=”dateformat_eu”>14/02/07</label>
</td>
<td style=”padding-left: 5px;”>
<input id=”dateformat_am” name=”dateformat” type=”radio” value=”1″
/>
<label id=”ldateformat_am”
for=”dateformat_am”>02/14/07</label>
</td>
<td></td>
</tr>
<tr>
<td> </td>
<td colspan=”2″>
<div id=”termswrap”>
<input id=”terms” type=”checkbox” name=”terms” />
<label id=”lterms” for=”terms”>I have read and accept the Terms of
Use.</label>
</div>
</td>
</tr>
errorPlacement: function(error, element) {
if ( element.is(”:radio”) )
error.appendTo( element.parent().next().next() );
else if ( element.is(”:checkbox”) )
error.appendTo ( element.next() );
else
error.appendTo( element.parent().next() );
}
代码的打算是:一般情状下将错误音信展现在<td></td>中,假要是radio显示在<td></td>中,假使是checkbox突显在内容的后面
errorClass:String Default: “error”
点名错误提醒的css类名,可以自定义错误指示的体裁
errorElement:String Default: “label”
由此啊标签号错误,默认的凡label你得变更化em
errorContainer:Selector
来得或者藏验证消息,可以活动实现有误音信出现不时拿容器属性改为展现,无不当时隐藏,用处不充分
errorContainer: “#messageBox1, #messageBox2″
errorLabelContainer:Selector
管错误消息统一在一个器皿内。
wrapper:String
所以什么标签还管上的errorELement包起来
诚如就四个属性同时使用,实现在一个器皿内突显所有错误提醒的效用,并且没有新闻日常自动隐藏
errorContainer: “div.error”,
errorLabelContainer: $(”#signupForm div.error”),
wrapper: “li”
装错误指示的体裁,可以增添图标呈现
input.error { border: 1px solid red; }
label.error {
background:url(”./demounchecked.gif”) no-repeat 0px 0px;
padding-left: 16px;
padding-bottom: 2px;
font-weight: bold;
color: #EA5200;
}
label.checked {
background:url(”./demohecked.gif”) no-repeat 0px 0px;
}
success:String,Callback
假若表达的素通过认证后底动作,如若和一个字符串,会作一个css类,也可是和一个函数
success: function(label) {
// set   as text for IE
label.html(” ”).addClass(”checked”);
//label.addClass(”valid”).text(”Ok!”)
}
添加”valid” 到表达元素, 在CSS中定义的样式<style>label.valid
{}</style>
success: “valid”

nsubmit: Boolean Default: true
授时验证. 设置唯false就因故别样艺术去验证
onfocusout:Boolean Default: true
夺主题是表明(不包括checkboxes/radio buttons)
onkeyup:Boolean Default: true
在keyup时验证.
onclick:Boolean Default: true
在checkboxes 和 radio 点击时验证
focusInvalid:Boolean Default: true
交给表单后,未通过验证的表单(第一独或提交在此之前拿到主题之无通过验证的表单)会取得要旨
focusCleanup:Boolean Default: false
淌假设true那么当不经过认证的素拿到主题时,移除错误指示。避免与
focusInvalid 一起就此
// 重置表单
$().ready(function() {
var validator = $(”#signupForm”).validate({
submitHandler:function(form){
alert(”submitted”);
form.submit();
}
});
$(”#reset”).click(function() {
validator.resetForm();
});
});
remote:URL
下ajax情势展开验证,默认会提交时表明的价值到长途地址,要是需要交其他的价,可以采纳data选项
remote: “check-email.php”
remote: {
url: “check-email.php”,     //后台处理程序
type: “post”,               //数据发送方
dataType: “json”,           //接受多少格式
data: {                     //要传递的数量
username: function() {
return $(”#username”).val();
}
}
}
长途地址只好输出 “true” 或 “false”,不可知出其他输出

addMethod:name, method, message
起定义表明措施
// 粤语字两独字节
jQuery.validator.addMethod(”byteRangeLength”, function(value, element,
param) {
var length = value.length;
for(var i = 0; i < value.length; i++){
if(value.charCodeAt(i) > 127){
length++;
}
}
return this.optional(element) || ( length >= param[0] && length
<= param[1] );
},
$.validator.format(”请确保输入的价值在{0}-{1}个字节之间(一个闽南语字算2个字节)”));
// 邮编验证
jQuery.validator.addMethod(”isZipCode”, function(value, element) {
var tel = /^[0-9]{6}$/;
return this.optional(element) || (tel.test(value));
}, “请对填写您的邮政编码”);
radio和checkbox、select的验证
radio的required表示要选中一个
<input type=”radio” id=”gender_male” value=”m” name=”gender” />
<input type=”radio” id=”gender_female” value=”f”
name=”gender”/>
checkbox的required表示要选中
<input type=”checkbox” id=”agree” name=”agree” />
checkbox的minlength表示要选中的极致小个数,maxlength表示卓殊特别之选项着个数,rangelength:[2,3]意味着当选个数区间
<input type=”checkbox” id=”spam_email” value=”email” name=”spam[]”
/>
<input type=”checkbox” id=”spam_phone” value=”phone” name=”spam[]”
/>
<input type=”checkbox” id=”spam_mail” value=”mail” name=”spam[]”
/>
select的required表示当选的value不可知为空
<select id=”jungle” name=”jungle” title=”Please select
something!”>
<option value=””></option>
<option value=”1″>Buga</option>
<option value=”2″>Baga</option>
<option value=”3″>Oi</option>
</select>
select的minlength表示当选的优良小个数(可基本上选取的select),maxlength表示无比可怜之挑三拣四着个数,rangelength:[2,3]表示当选个数区间
<select id=”fruit” name=”fruit” title=”Please select at least two
fruits” multiple=”multiple”>
<option value=”b”>Banana</option>
<option value=”a”>Apple</option>
<option value=”p”>Peach</option>
<option value=”t”>Turtle</option>
</select>

相关文章

网站地图xml地图