jQuery formValidator表单验证插件是客户端表单验证插件。
在做B/S开发的时候,我们经常涉及到很多表单验证,例如新用户注册,填写个人资料,录入一些常规数据等等。在这之前,页面开发者(JavaScript开发者)需要编写大量的JavaScript来进行表单元素的校验,而这些校验在平时开发中不停的重复书写。
常见的校验如不能为空,必须满足长度要求,必须为数字,必须为Email等等。一般要判断的表单元素比较多,开发过程就显得枯燥无味——重复的代码不断重复,而且可能还要兼容多种浏览器,更多的考虑因素使人头疼不已。由于每个要校验的页面虽然逻辑基本相同,但是在大多数情况下,出于种种原因,开发者宁愿再编写一套JS文件,为了便于管理。
jQuery formValidator表单插件致力于改善这一过程。你只关心业务逻辑,而无需关系实现过程,只需简单的配置,无需写代码就能实现表单的检验。它包括常规检验功能和可扩展校验功能。针对每个表单元素你只需要写一行配置信息就能完成校验。而这些配置信息无需写入表单元素,实现了js代码和html代码的分离。这样做的好处,使B/S开发过程中,分工更加明确,页面设计着只需关心他的页面(设计的时候不必担心把脚本弄坏了),javascript开发者只需关心脚本的开发。
而插件本身包含的校验方式可以有无数种,只要你扩展正则表达式和函数。本插件于同类校验插件最大的区别:校验功能可以扩展;实现了校验代码于html代码的完全分离;你只需写一行配置信息就能完成一个表单元素的所有校验。插件本身提供了很多回调函数,使调用者能最大限度的发挥自己的想象能力来完成自己的业务需求。 在同一个页面你可以拥有很多个校验组,你只需在提交的按钮那里调用
return jQuery.formValidator.pageIsValid('校验组号') 来完成多个组的校验,互不干扰。
插件具备跨浏览器的能力。目前在ie和ff两种浏览器下调试通过,你不用再考虑在多浏览器下如何兼容,jQuery formValidator帮你做到了这些。
1.首先在项目中添加必备js与css
2.代码中添加引用(必备引用) 代码如下: <script src="Scripts/jquery-1.4.1.min.js" type="text/javascript"></script> <!–jquery必须库–>
<script src="formValidator1/formValidator-4.0.1.min.js" type="text/javascript"></script> <!–表单验证必须库–> www.it165.net
<script src="formValidator1/formValidatorRegex.js" type="text/javascript"></script> <!–表单验证扩展库–>
<link href="formValidator1/style/validator.css" rel="stylesheet" type="text/css" /><!–表单验证样式表–>
3.<body>中要验证的标签(做一些常用的演示)
代码如下:
view sourceprint? 001.
<
table
border
=
"0px"
style
=
"font-size:12px"
>
002.
<
tr
>
003.
<
td
colpan
=
"3"
><
input
type
=
"submit"
name
=
"button"
id
=
"button"
value
=
"提交"
/></
td
>
004.
</
tr
>
005.
<
tr
>
006.
<
td
align
=
"right"
>身份证(正则表达式库):</
td
>
007.
<
td
><
input
name
=
"sfz"
type
=
"text"
id
=
"sfz"
/></
td
>
008.
<
td
><
div
id
=
"sfzTip"
style
=
"width:300px"
></
div
></
td
>
009.
</
tr
>
010.
<
tr
>
011.
<
td
align
=
"right"
>身份证(外部函数):</
td
>
012.
<
td
><
input
type
=
"text"
id
=
"sfz1"
style
=
"width:120px"
/></
td
>
013.
<
td
><
div
id
=
"sfz1Tip"
style
=
"width:300px"
></
div
></
td
>
014.
</
tr
>
015.
<
tr
>
016.
<
td
align
=
"right"
>整数:</
td
>
017.
<
td
><
input
type
=
"text"
id
=
"zs"
style
=
"width:120px"
/></
td
>
018.
<
td
><
div
id
=
"zsTip"
style
=
"width:300px"
></
div
></
td
>
019.
</
tr
>
020.
<
tr
>
021.
<
td
align
=
"right"
>正整数:</
td
>
022.
<
td
><
input
type
=
"text"
id
=
"zzs"
style
=
"width:120px"
/></
td
>
023.
<
td
><
div
id
=
"zzsTip"
style
=
"width:300px"
></
div
></
td
>
024.
</
tr
>
025.
<
tr
>
026.
<
td
align
=
"right"
>负整数:</
td
>
027.
<
td
><
input
type
=
"text"
id
=
"fzs"
style
=
"width:120px"
/></
td
>
028.
<
td
><
div
id
=
"fzsTip"
style
=
"width:300px"
></
div
></
td
>
029.
</
tr
>
030.
<
tr
>
031.
<
td
align
=
"right"
>数字:</
td
>
032.
<
td
><
input
type
=
"text"
id
=
"sz"
style
=
"width:120px"
/></
td
>
033.
<
td
><
div
id
=
"szTip"
style
=
"width:300px"
></
div
></
td
>
034.
</
tr
>
035.
<
tr
>
036.
<
td
align
=
"right"
>正数(正整数 + 0):</
td
>
037.
<
td
><
input
type
=
"text"
id
=
"zs1"
style
=
"width:120px"
/></
td
>
038.
<
td
><
div
id
=
"zs1Tip"
style
=
"width:300px"
></
div
></
td
>
039.
</
tr
>
040.
<
tr
>
041.
<
td
align
=
"right"
>负数(负整数 + 0):</
td
>
042.
<
td
><
input
type
=
"text"
id
=
"fs"
style
=
"width:120px"
/></
td
>
043.
<
td
><
div
id
=
"fsTip"
style
=
"width:300px"
></
div
></
td
>
044.
</
tr
>
045.
<
tr
>
046.
<
td
align
=
"right"
>浮点数:</
td
>
047.
<
td
><
input
type
=
"text"
id
=
"fds"
style
=
"width:120px"
/></
td
>
048.
<
td
><
div
id
=
"fdsTip"
style
=
"width:300px"
></
div
></
td
>
049.
</
tr
>
050.
<
tr
>
051.
<
td
align
=
"right"
>正浮点数:</
td
>
052.
<
td
><
input
type
=
"text"
id
=
"zfds"
style
=
"width:120px"
/></
td
>
053.
<
td
><
div
id
=
"zfdsTip"
style
=
"width:300px"
></
div
></
td
>
054.
</
tr
>
055.
<
tr
>
056.
<
td
align
=
"right"
>负浮点数:</
td
>
057.
<
td
><
input
type
=
"text"
id
=
"ffds"
style
=
"width:120px"
/></
td
>
058.
<
td
><
div
id
=
"ffdsTip"
style
=
"width:300px"
></
div
></
td
>
059.
</
tr
>
060.
<
tr
>
061.
<
td
align
=
"right"
>非负浮点数(正浮点数 + 0):</
td
>
062.
<
td
><
input
type
=
"text"
id
=
"fffds"
style
=
"width:120px"
/></
td
>
063.
<
td
><
div
id
=
"fffdsTip"
style
=
"width:300px"
></
div
></
td
>
064.
</
tr
>
065.
<
tr
>
066.
<
td
align
=
"right"
>非正浮点数(负浮点数 + 0):</
td
>
067.
<
td
><
input
type
=
"text"
id
=
"fzfds"
style
=
"width:120px"
/></
td
>
068.
<
td
><
div
id
=
"fzfdsTip"
style
=
"width:300px"
></
div
></
td
>
069.
</
tr
>
070.
<
tr
>
071.
<
td
align
=
"right"
>颜色:</
td
>
072.
<
td
><
input
type
=
"text"
id
=
"ys"
style
=
"width:120px"
/></
td
>
073.
<
td
><
div
id
=
"ysTip"
style
=
"width:300px"
></
div
></
td
>
074.
</
tr
>
075.
<
tr
>
076.
<
td
align
=
"right"
>你的EMAIL:</
td
>
077.
<
td
><
input
type
=
"text"
id
=
"email"
style
=
"width:120px"
/></
td
>
078.
<
td
><
div
id
=
"emailTip"
style
=
"width:300px"
></
div
></
td
>
079.
</
tr
>
080.
<
tr
>
081.
<
td
align
=
"right"
>手机:</
td
>
082.
<
td
><
input
type
=
"text"
id
=
"sj"
style
=
"width:120px"
/></
td
>
083.
<
td
><
div
id
=
"sjTip"
style
=
"width:300px"
></
div
></
td
>
084.
</
tr
>
085.
<
tr
>
086.
<
td
align
=
"right"
>邮编:</
td
>
087.
<
td
><
input
type
=
"text"
id
=
"yb"
style
=
"width:120px"
/></
td
>
088.
<
td
><
div
id
=
"ybTip"
style
=
"width:300px"
></
div
></
td
>
089.
</
tr
>
090.
<
tr
>
091.
<
td
align
=
"right"
>非空:</
td
>
092.
<
td
><
input
type
=
"text"
id
=
"fk"
style
=
"width:120px"
/></
td
>
093.
<
td
><
div
id
=
"fkTip"
style
=
"width:300px"
></
div
></
td
>
094.
</
tr
>
095.
<
tr
>
096.
<
td
align
=
"right"
>图片:</
td
>
097.
<
td
><
input
type
=
"text"
id
=
"tp"
style
=
"width:120px"
/></
td
>
098.
<
td
><
div
id
=
"tpTip"
style
=
"width:300px"
></
div
></
td
>
099.
</
tr
>
100.
<
tr
>
101.
<
td
align
=
"right"
>压缩文件:</
td
>
102.
<
td
><
input
type
=
"text"
id
=
"rar"
style
=
"width:120px"
/></
td
>
103.
<
td
><
div
id
=
"rarTip"
style
=
"width:300px"
></
div
></
td
>
104.
</
tr
>
105.
<
tr
>
106.
<
td
align
=
"right"
>ip4:</
td
>
107.
<
td
><
input
type
=
"text"
id
=
"ip4"
style
=
"width:120px"
/></
td
>
108.
<
td
><
div
id
=
"ip4Tip"
style
=
"width:300px"
></
div
></
td
>
109.
</
tr
>
110.
<
tr
>
111.
<
td
align
=
"right"
>QQ号码:</
td
>
112.
<
td
><
input
type
=
"text"
id
=
"<a href="
http://www.it165.net/qq/"
target
=
"_blank"
class
=
"keylink"
>qq</
a
>" style="width:120px" /></
td
>
113.
<
td
><
div
id
=
"<a href="
http://www.it165.net/qq/"
target
=
"_blank"
class
=
"keylink"
>qq</
a
>Tip" style="width:300px"></
div
></
td
>
114.
</
tr
>
115.
<
tr
>
116.
<
td
align
=
"right"
>国内电话:</
td
>
117.
<
td
><
input
type
=
"text"
id
=
"dh"
style
=
"width:120px"
/></
td
>
118.
<
td
><
div
id
=
"dhTip"
style
=
"width:300px"
></
div
></
td
>
119.
</
tr
>
120.
<
tr
>
121.
<
td
align
=
"right"
>用户名:</
td
>
122.
<
td
><
input
type
=
"text"
id
=
"yhm"
style
=
"width:120px"
/></
td
>
123.
<
td
><
div
id
=
"yhmTip"
style
=
"width:300px"
></
div
></
td
>
124.
</
tr
>
125.
<
tr
>
126.
<
td
align
=
"right"
>字母:</
td
>
127.
<
td
><
input
type
=
"text"
id
=
"zm"
style
=
"width:120px"
/></
td
>
128.
<
td
><
div
id
=
"zmTip"
style
=
"width:300px"
></
div
></
td
>
129.
</
tr
>
130.
<
tr
>
131.
<
td
align
=
"right"
>大写字母:</
td
>
132.
<
td
><
input
type
=
"text"
id
=
"dxzm"
style
=
"width:120px"
/></
td
>
133.
<
td
><
div
id
=
"dxzmTip"
style
=
"width:300px"
></
div
></
td
>
134.
</
tr
>
135.
<
tr
>
136.
<
td
align
=
"right"
>小写字母:</
td
>
137.
<
td
><
input
type
=
"text"
id
=
"xxzm"
style
=
"width:120px"
/></
td
>
138.
<
td
><
div
id
=
"xxzmTip"
style
=
"width:300px"
></
div
></
td
>
139.
</
tr
>
140.
<
tr
>
141.
<
td
align
=
"right"
>身份证:</
td
>
142.
<
td
><
input
type
=
"text"
id
=
"sfz"
style
=
"width:120px"
/></
td
>
143.
<
td
><
div
id
=
"sfzTip"
style
=
"width:300px"
></
div
></
td
>
144.
</
tr
>
145.
</
table
>
4.<script>中的代码
代码如下:
view sourceprint? 01.
<script type=
"text/javascript"
>
02.
$(document).ready(
function
() {
03.
$.formValidator.initConfig({ formID:
"form1"
, onError:
function
() { alert(
"校验没有通过,具体错误请看错误提示"
) } });
04.
$(
"#sfz"
).formValidator({ onShow:
"请输入15或18位的身份证"
, onfocus:
"输入15或18位的身份证"
, onCorrect:
"输入正确"
}).regexValidator({ regExp:
"idcard"
, dataType:
"enum"
, onError:
"你输入的身份证格式不正确"
}); ;
05.
$(
"#sfz1"
).formValidator({ onShow:
"请输入15或18位的身份证"
, onfocus:
"输入15或18位的身份证"
, onCorrect:
"输入正确"
}).functionValidator({ fun: isCardID });
06.
$(
"#zs"
).formValidator({ onShow:
"请输入整数"
, onCorrect:
"谢谢你的合作,你的整数正确"
}).regexValidator({ regExp:
"intege"
, dataType:
"enum"
, onError:
"整数格式不正确"
});
07.
$(
"#zzs"
).formValidator({ onShow:
"请输入正整数"
, onCorrect:
"谢谢你的合作,你的正整数正确"
}).regexValidator({ regExp:
"intege1"
, dataType:
"enum"
, onError:
"正整数格式不正确"
});
08.
$(
"#fzs"
).formValidator({ onShow:
"请输入负整数"
, onCorrect:
"谢谢你的合作,你的负整数正确"
}).regexValidator({ regExp:
"intege2"
, dataType:
"enum"
, onError:
"负整数格式不正确"
});
09.
$(
"#sz"
).formValidator({ onShow:
"请输入数字"
, onCorrect:
"谢谢你的合作,你的数字正确"
}).regexValidator({ regExp:
"num"
, dataType:
"enum"
, onError:
"数字格式不正确"
});
10.
$(
"#zs1"
).formValidator({ onShow:
"请输入正数"
, onCorrect:
"谢谢你的合作,你的正数正确"
}).regexValidator({ regExp:
"num1"
, dataType:
"enum"
, onError:
"正数格式不正确"
});
11.
$(
"#fs"
).formValidator({ onShow:
"请输入负数"
, onCorrect:
"谢谢你的合作,你的负数正确"
}).regexValidator({ regExp:
"num2"
, dataType:
"enum"
, onError:
"负数格式不正确"
});
12.
$(
"#sj"
).formValidator({ onShow:
"请输入你的手机号码"
, onfocus:
"必须是13或15打头哦"
, onCorrect:
"谢谢你的合作,你的手机号码正确"
}).regexValidator({ regExp:
"mobile"
, dataType:
"enum"
, onError:
"手机号码格式不正确"
});
13.
14.
$(
"#email"
).formValidator({ onShow:
"请输入你的email"
, onfocus:
"请注意你输入的email格式,例如:wzmaodong@126.com"
, onCorrect:
"谢谢你的合作,你的email正确"
}).regexValidator({ regExp:
"email"
, dataType:
"enum"
, onError:
"email格式不正确"
});
15.
$(
"#fds"
).formValidator({ onShow:
"请输入浮点数"
, onCorrect:
"谢谢你的合作,你的浮点数正确"
}).regexValidator({ regExp:
"decmal"
, dataType:
"enum"
, onError:
"浮点数格式不正确"
});
16.
$(
"#zfds"
).formValidator({ onShow:
"请输入正浮点数"
, onCorrect:
"谢谢你的合作,你的正浮点数正确"
}).regexValidator({ regExp:
"decmal1"
, dataType:
"enum"
, onError:
"正浮点数格式不正确"
});
17.
$(
"#ffds"
).formValidator({ onShow:
"请输入负浮点数"
, onCorrect:
"谢谢你的合作,你的负浮点数正确"
}).regexValidator({ regExp:
"decmal2"
, dataType:
"enum"
, onError:
"负浮点数格式不正确"
});
18.
$(
"#fffds"
).formValidator({ onShow:
"请输入非负浮点数"
, onCorrect:
"谢谢你的合作,你的非负浮点数正确"
}).regexValidator({ regExp:
"decmal4"
, dataType:
"enum"
, onError:
"非负浮点数格式不正确"
});
19.
$(
"#fzfds"
).formValidator({ onShow:
"请输入非正浮点数"
, onCorrect:
"谢谢你的合作,你的非正浮点数正确"
}).regexValidator({ regExp:
"decmal5"
, dataType:
"enum"
, onError:
"非正浮点数格式不正确"
});
20.
$(
"#ys"
).formValidator({ onShow:
"请输入16进制颜色"
, onCorrect:
"谢谢你的合作,你的16进制颜色正确"
}).regexValidator({ regExp:
"color"
, dataType:
"enum"
, onError:
"16进制颜色格式不正确"
});
21.
$(
"#yb"
).formValidator({ onShow:
"请输入邮编"
, onfocus:
"6位数字组成的哦"
, onCorrect:
"谢谢你的合作,你的邮编正确"
}).regexValidator({ regExp:
"zipcode"
, dataType:
"enum"
, onError:
"邮编格式不正确"
});
22.
$(
"#ip4"
).formValidator({ onShow:
"请输入ip4"
, onfocus:
"例如:172.16.201.18"
, onCorrect:
"谢谢你的合作,你的ip4正确"
}).regexValidator({ regExp:
"ip4"
, dataType:
"enum"
, onError:
"ip4格式不正确"
});
23.
$(
"#fk"
).formValidator({ onShow:
"请输入非空字符"
, onCorrect:
"谢谢你的合作,你的非空字符正确"
}).regexValidator({ regExp:
"notempty"
, dataType:
"enum"
, onError:
"非空字符格式不正确"
});
24.
$(
"#tp"
).formValidator({ onShow:
"请输入图片名"
, onCorrect:
"谢谢你的合作,你的图片名正确"
}).regexValidator({ regExp:
"picture"
, dataType:
"enum"
, onError:
"图片名格式不正确"
});
25.
$(
"#rar"
).formValidator({ onShow:
"请输入压缩文件名"
, onCorrect:
"谢谢你的合作,你的压缩文件名正确"
}).regexValidator({ regExp:
"rar"
, dataType:
"enum"
, onError:
"压缩文件名格式不正确"
});
26.
$(
"#qq"
).formValidator({ onShow:
"请输入QQ号码"
, onCorrect:
"谢谢你的合作,你的QQ号码正确"
}).regexValidator({ regExp:
"qq"
, dataType:
"enum"
, onError:
"QQ号码格式不正确"
});
27.
$(
"#dh"
).formValidator({ onShow:
"请输入国内电话"
, onfocus:
"例如:0577-88888888或省略区号88888888"
, onCorrect:
"谢谢你的合作,你的国内电话正确"
}).regexValidator({ regExp:
"tel"
, dataType:
"enum"
, onError:
"国内电话格式不正确"
});
28.
$(
"#yhm"
).formValidator({ onShow:
"请输入用户名"
, onCorrect:
"谢谢你的合作,你的用户名正确"
}).regexValidator({ regExp:
"username"
, dataType:
"enum"
, onError:
"用户名格式不正确"
});
29.
$(
"#zm"
).formValidator({ onShow:
"请输入字母"
, onCorrect:
"谢谢你的合作,你的字母正确"
}).regexValidator({ regExp:
"letter"
, dataType:
"enum"
, onError:
"字母格式不正确"
});
30.
$(
"#dxzm"
).formValidator({ onShow:
"请输入大写字母"
, onCorrect:
"谢谢你的合作,你的大写字母正确"
}).regexValidator({ regExp:
"letter_u"
, dataType:
"enum"
, onError:
"大写字母格式不正确"
});
31.
$(
"#xxzm"
).formValidator({ onShow:
"请输入小写字母"
, onCorrect:
"谢谢你的合作,你的小写字母正确"
}).regexValidator({ regExp:
"letter_l"
, dataType:
"enum"
, onError:
"小写字母格式不正确"
});
32.
$(
"#sfz"
).formValidator({ onShow:
"请输入身份证"
, onCorrect:
"谢谢你的合作,你的身份证正确"
}).regexValidator({ regExp:
"idcard"
, dataType:
"enum"
, onError:
"身份证格式不正确"
});
33.
});
34.
</script>
5.效果图:
6.<script>中函数参数说明:
formValidator: |
用来做初始化的类型,必须先执行。("√"为showalert可用参数) |
属性 |
属性名称 |
默认值 |
showalert |
详细解释 |
validatorgroup |
校验组 |
"1" |
√ |
一个页面的控件可以分成多个组,分开校验 |
empty |
是否可以为空 |
false |
√ |
|
automodify |
输入错误离开焦点的时候,自动修复错误 |
true |
√ |
先给出提示然后,自动修复,目前只支持text、file、textarea三种类型 |
onempty |
空时候的提示 |
"输入内容为空" |
|
可以为空,为空时候的提示。为空者不显示 |
onshow |
显示时候的提示 |
"请输入内容" |
|
为空者不显示 |
onfocus |
获得焦点的提示 |
"请输入内容" |
|
为空者不显示 |
oncorrect |
输入正确后的提示 |
"输入正确" |
|
当你焦点离开控件的时候,如果输入正确将出现该提示。为空者不显示 |
tipid |
显示错误的容器ID |
表单ID+"Tip" |
|
如果不自动构建提示层,表示提示成的ID号 如果自动构建提示层,表示提示层相对的目标控件 |
tipcss |
自动构建的提示层的样式 |
"left":"10px", "top":"1px", "height":"20px", "width":"250px" |
|
主要用于定位自动构建的提示层 |
forcevalid |
强制输入的值必须有效 |
true |
√ |
是否把一个全角字符当做2个长度的参数 |
ajax |
提交服务器 |
true |
√ |
ajaxValidator是否把该表单提交给服务器 |
defaultvalue |
默认值 |
null |
√ |
所有input和select表单。如果你不设置就保持原值,一旦设置就设为默认值。 |
triggerevent |
默认值 |
blur |
√ |
当前支持2种属性值: blur:失去焦点的时候触发 change:当输入框里的值发生改变的时候触发 |
|
|
|
|
|
inputValidator: |
|
属性 |
属性名称 |
默认值 |
详细解释 |
type |
比较类型 |
"size" |
(对select无效) "size":表示比较长度 ,默认值 "number":数值型比较 "string":字符型比较 "date":短日期类型 "datetime":长日期类型 |
min |
最小长度/值 |
0 |
默认数值型。如果进行字符比较,请收入字符型 对select-one而言inputValidator里的参数min和max表示选择的索引号范围 对select-multiple而言inputValidator里的参数min和max表示选择的个数 |
max |
最大长度/值 |
99999999999 |
同上 |
onerror |
发生错误的提示 |
"输入错误" |
为空者不显示。 |
onerrormin |
比min属性小的提示 |
null |
当用户输入的值比min属性小的时候的错误提示 |
onerrormax |
比max属性大的提示 |
null |
当用户输入的值比max属性大的时候的错误提示 |
empty |
控件文本值是否允许两边为空 |
两边都允许出现空 |
默认值{leftempty:true,rightempty:true,emptyerror:null} leftempty:表示左边是否允许为空 rightempty:表示右边是否允许为空 emptyerror:出现该错误的时候的提示,如果为null,则利用onerror属性来提示错误。 |
|
|
|
|
|
compareValidator: |
|
属性 |
属性名称 |
默认值 |
详细解释 |
desid |
要比较控件的ID |
"" |
要跟源目标进行比较的目标ID |
operateor |
比较符号 |
"=" |
一共有如下几种类型:=、!=、>、>=、<、<= |
datatype |
数据类型 |
"string" |
目前只支持2种:"string"、"number","datetime","date" |
onerror |
发生错误的提示 |
"输入错误" |
为空者不显示。 |
|
|
|
|
|
regexValidator: |
|
属性 |
属性名称 |
默认值 |
详细解释 |
regexp |
正则表达式或表达式数组 |
"" |
采用的是显式构造函数new RegExp("pattern"[,"flags"]); 由于Javascript 中'' 被用作转义字符,所以在使用显示构造函数构造实例对象的时候,需要使用'\' 代替'' |
param |
附加参数 |
"i" |
g:代表可以进行全局匹配。 i:代表不区分大小写匹配。 m:代表可以进行多行匹配。 可以任意组合,当然也可以不加参数 |
comparetype |
比较类型 |
"||" |
"||"或的关系 "&&"并列 |
datatype |
数据类型 |
"string" |
"string":自己写的表达式,"enum":枚举名。具体请见demo3.htm 你可以自己修改、添加formValidatorRegex.js里的枚举项目名和表达式。 |
onerror: |
发生错误的提示 |
"输入错误" |
为空者不显示。 |
|
|
|
|
|
ajaxValidator: |
几乎所有的属性跟$.ajax()的属性一样,请参考$.ajax()函数的帮助 |
属性 |
属性名称 |
默认值 |
详细解释 |
type |
请求的类型 |
"GET" |
"POST" 或 "GET" |
url |
发送到的URL地址 |
"" |
在服务器端,你可以通过name为clientid获取触发验证的控件ID名 |
datatype |
返回的数据类型 |
"html" |
xml、html、script、json、text |
timeout |
超时设置 |
999 |
|
data |
数据 |
"" |
|
async |
是否以异步的方式发送 |
true |
|
success |
当请求成功时调用的函数 |
null |
|
processdata |
自动处理返回的数据为字符串 |
true |
在默认的情况下,如果data选项传进的数据是一个对象而不是字符串,将会自动地被处理和转换成一个查询字符串 |
complete |
当请求完成时调用的函数 |
null |
|
beforesend |
当请求前时调用的函数 |
null |
有个一个参数,根$.ajax里的beforeSend参数一样。 |
buttons |
你点提交的按钮(组)jQuery对象 |
null |
当你触发了ajax校验,buttons里对应的按钮(组)就会灰掉,一直等待服务器返回数据为止 |
error |
当请求失败时调用的函数 |
"请求失败" |
你可以自己定义这个错误,在error里自动打出。为空者不显示。 |
|
|
functionValidator |
属性 |
属性名称 |
默认值 |
返回值的解释 |
fun |
外部函数名() 参数1:元素的值, 参数2:元素对象 |
默认当作处理过程 |
true/false |
校验成功/失败 |
字符串 |
校验失败,返回值当作自定义错误 |
无 |
处理过程 |
|
onerror |
发生错误的提示 |
"输入错误" |
函数return false的时候,显示该错误信息 |
|
|
|
公共函数: |
主要是设置全局参数和判断是否通过校验 |
函数名 |
函数说明 |
$.formValidator.initConfig |
参数:配置类型
属性 |
默认值 |
说明 |
validatorgroup |
"1" |
你要针对哪个组进行配置 |
formid |
"" |
要自动注册pageIsValid函数的表单ID号 |
alertmessage |
false |
是否弹出窗口 |
autotip |
false |
是否自动构建提示层 |
errorfocus |
true |
发生错误的时候,第一个出错控件是否获得焦点 |
forcevalid |
true |
是否一直输入正确为止才允许离开焦点 |
wideword |
true |
是否把一个全角字符当做2个长度 |
onsuccess |
null |
该组校验通过后的回调函数,返回false,阻止表单的提交 |
submitonce |
false |
校验通过后,是否灰掉所有的提交按钮 |
onerror |
null |
该组校验失败后的回调函数, 有两个参数
参数1 |
一个校验没有通过的错误信息 |
参数2 |
一个校验没有通过的元素对象 |
参数3 |
所有的错误信息数组,你可以通过$.map来遍历 |
|
debug |
false |
是否处于调试模式。true:不提交表单 |
|
$.formValidator.pageIsValid |
一个参数: 不是配置类型
validatorgroup |
"1" |
你要针对哪个组进行验证 |
|
$.formValidator.isOneValid |
一个参数: 当时设置验证的表单元素ID。 返回是否校验成功的信息。 |
$.formValidator.setFailState |
function("tipid","显示的信息") 在showword模式下,如果你的额外校验没有通过,你可以通过它来设置成失败信息和状态 |
$.formValidator.getLength |
function("表单元素id") checkbox或radiobutton表示(同组)选择的个数。 对select-one,选择索引的值 对select-multiple,inputValidator里的参数min和max表示选择的个数 其它input表示的表示字符长度。 |
$.formValidator.retSetTipState |
function(校验组号) 来把该组的提示内容恢复到onshow状态 |
$.formValidator.reloadAutoTip |
重新定位自动构建的提示层 |
|
formValidator: |
用来做初始化的类型,必须先执行。("√"为showalert可用参数) |
属性 |
属性名称 |
默认值 |
showalert |
详细解释 |
validatorgroup |
校验组 |
"1" |
√ |
一个页面的控件可以分成多个组,分开校验 |
empty |
是否可以为空 |
false |
√ |
|
automodify |
输入错误离开焦点的时候,自动修复错误 |
true |
√ |
先给出提示然后,自动修复,目前只支持text、file、textarea三种类型 |
onempty |
空时候的提示 |
"输入内容为空" |
|
可以为空,为空时候的提示。为空者不显示 |
onshow |
显示时候的提示 |
"请输入内容" |
|
为空者不显示 |
onfocus |
获得焦点的提示 |
"请输入内容" |
|
为空者不显示 |
oncorrect |
输入正确后的提示 |
"输入正确" |
|
当你焦点离开控件的时候,如果输入正确将出现该提示。为空者不显示 |
tipid |
显示错误的容器ID |
表单ID+"Tip" |
|
如果不自动构建提示层,表示提示成的ID号 如果自动构建提示层,表示提示层相对的目标控件 |
tipcss |
自动构建的提示层的样式 |
"left":"10px", "top":"1px", "height":"20px", "width":"250px" |
|
主要用于定位自动构建的提示层 |
forcevalid |
强制输入的值必须有效 |
true |
√ |
是否把一个全角字符当做2个长度的参数 |
ajax |
提交服务器 |
true |
√ |
ajaxValidator是否把该表单提交给服务器 |
defaultvalue |
默认值 |
null |
√ |
所有input和select表单。如果你不设置就保持原值,一旦设置就设为默认值。 |
triggerevent |
默认值 |
blur |
√ |
当前支持2种属性值: blur:失去焦点的时候触发 change:当输入框里的值发生改变的时候触发 |
|
|
|
|
|
inputValidator: |
|
属性 |
属性名称 |
默认值 |
详细解释 |
type |
比较类型 |
"size" |
(对select无效) "size":表示比较长度 ,默认值 "number":数值型比较 "string":字符型比较 "date":短日期类型 "datetime":长日期类型 |
min |
最小长度/值 |
0 |
默认数值型。如果进行字符比较,请收入字符型 对select-one而言inputValidator里的参数min和max表示选择的索引号范围 对select-multiple而言inputValidator里的参数min和max表示选择的个数 |
max |
最大长度/值 |
99999999999 |
同上 |
onerror |
发生错误的提示 |
"输入错误" |
为空者不显示。 |
onerrormin |
比min属性小的提示 |
null |
当用户输入的值比min属性小的时候的错误提示 |
onerrormax |
比max属性大的提示 |
null |
当用户输入的值比max属性大的时候的错误提示 |
empty |
控件文本值是否允许两边为空 |
两边都允许出现空 |
默认值{leftempty:true,rightempty:true,emptyerror:null} leftempty:表示左边是否允许为空 rightempty:表示右边是否允许为空 emptyerror:出现该错误的时候的提示,如果为null,则利用onerror属性来提示错误。 |
|
|
|
|
|
compareValidator: |
|
属性 |
属性名称 |
默认值 |
详细解释 |
desid |
要比较控件的ID |
"" |
要跟源目标进行比较的目标ID |
operateor |
比较符号 |
"=" |
一共有如下几种类型:=、!=、>、>=、<、<= |
datatype |
数据类型 |
"string" |
目前只支持2种:"string"、"number","datetime","date" |
onerror |
发生错误的提示 |
"输入错误" |
为空者不显示。 |
|
|
|
|
|
regexValidator: |
|
属性 |
属性名称 |
默认值 |
详细解释 |
regexp |
正则表达式或表达式数组 |
"" |
采用的是显式构造函数new RegExp("pattern"[,"flags"]); 由于Javascript 中'' 被用作转义字符,所以在使用显示构造函数构造实例对象的时候,需要使用'\' 代替'' |
param |
附加参数 |
"i" |
g:代表可以进行全局匹配。 i:代表不区分大小写匹配。 m:代表可以进行多行匹配。 可以任意组合,当然也可以不加参数 |
comparetype |
比较类型 |
"||" |
"||"或的关系 "&&"并列 |
datatype |
数据类型 |
"string" |
"string":自己写的表达式,"enum":枚举名。具体请见demo3.htm 你可以自己修改、添加formValidatorRegex.js里的枚举项目名和表达式。 |
onerror: |
发生错误的提示 |
"输入错误" |
为空者不显示。 |
|
|
|
|
|
ajaxValidator: |
几乎所有的属性跟$.ajax()的属性一样,请参考$.ajax()函数的帮助 |
属性 |
属性名称 |
默认值 |
详细解释 |
type |
请求的类型 |
"GET" |
"POST" 或 "GET" |
url |
发送到的URL地址 |
"" |
在服务器端,你可以通过name为clientid获取触发验证的控件ID名 |
datatype |
返回的数据类型 |
"html" |
xml、html、script、json、text |
timeout |
超时设置 |
999 |
|
data |
数据 |
"" |
|
async |
是否以异步的方式发送 |
true |
|
success |
当请求成功时调用的函数 |
null |
|
processdata |
自动处理返回的数据为字符串 |
true |
在默认的情况下,如果data选项传进的数据是一个对象而不是字符串,将会自动地被处理和转换成一个查询字符串 |
complete |
当请求完成时调用的函数 |
null |
|
beforesend |
当请求前时调用的函数 |
null |
有个一个参数,根$.ajax里的beforeSend参数一样。 |
buttons |
你点提交的按钮(组)jQuery对象 |
null |
当你触发了ajax校验,buttons里对应的按钮(组)就会灰掉,一直等待服务器返回数据为止 |
error |
当请求失败时调用的函数 |
"请求失败" |
你可以自己定义这个错误,在error里自动打出。为空者不显示。 |
|
|
functionValidator |
属性 |
属性名称 |
默认值 |
返回值的解释 |
fun |
外部函数名() 参数1:元素的值, 参数2:元素对象 |
默认当作处理过程 |
true/false |
校验成功/失败 |
字符串 |
校验失败,返回值当作自定义错误 |
无 |
处理过程 |
|
onerror |
发生错误的提示 |
"输入错误" |
函数return false的时候,显示该错误信息 |
|
|
|
公共函数: |
主要是设置全局参数和判断是否通过校验 |
函数名 |
函数说明 |
$.formValidator.initConfig |
参数:配置类型
属性 |
默认值 |
说明 |
validatorgroup |
"1" |
你要针对哪个组进行配置 |
formid |
"" |
要自动注册pageIsValid函数的表单ID号 |
alertmessage |
false |
是否弹出窗口 |
autotip |
false |
是否自动构建提示层 |
errorfocus |
true |
发生错误的时候,第一个出错控件是否获得焦点 |
forcevalid |
true |
是否一直输入正确为止才允许离开焦点 |
wideword |
true |
是否把一个全角字符当做2个长度 |
onsuccess |
null |
该组校验通过后的回调函数,返回false,阻止表单的提交 |
submitonce |
false |
校验通过后,是否灰掉所有的提交按钮 |
onerror |
null |
该组校验失败后的回调函数, 有两个参数
参数1 |
一个校验没有通过的错误信息 |
参数2 |
一个校验没有通过的元素对象 |
参数3 |
所有的错误信息数组,你可以通过$.map来遍历 |
|
debug |
false |
是否处于调试模式。true:不提交表单 |
|
$.formValidator.pageIsValid |
一个参数: 不是配置类型
validatorgroup |
"1" |
你要针对哪个组进行验证 |
|
$.formValidator.isOneValid |
一个参数: 当时设置验证的表单元素ID。 返回是否校验成功的信息。 |
$.formValidator.setFailState |
function("tipid","显示的信息") 在showword模式下,如果你的额外校验没有通过,你可以通过它来设置成失败信息和状态 |
$.formValidator.getLength |
function("表单元素id") checkbox或radiobutton表示(同组)选择的个数。 对select-one,选择索引的值 对select-multiple,inputValidator里的参数min和max表示选择的个数 其它input表示的表示字符长度。 |
$.formValidator.retSetTipState |
function(校验组号) 来把该组的提示内容恢复到onshow状态 |
$.formValidator.reloadAutoTip |
重新定位自动构建的提示层 |
|
formValidator: |
用来做初始化的类型,必须先执行。("√"为showalert可用参数) |
属性 |
属性名称 |
默认值 |
showalert |
详细解释 |
validatorgroup |
校验组 |
"1" |
√ |
一个页面的控件可以分成多个组,分开校验 |
empty |
是否可以为空 |
false |
√ |
|
automodify |
输入错误离开焦点的时候,自动修复错误 |
true |
√ |
先给出提示然后,自动修复,目前只支持text、file、textarea三种类型 |
onempty |
空时候的提示 |
"输入内容为空" |
|
可以为空,为空时候的提示。为空者不显示 |
onshow |
显示时候的提示 |
"请输入内容" |
|
为空者不显示 |
onfocus |
获得焦点的提示 |
"请输入内容" |
|
为空者不显示 |
oncorrect |
输入正确后的提示 |
"输入正确" |
|
当你焦点离开控件的时候,如果输入正确将出现该提示。为空者不显示 |
tipid |
显示错误的容器ID |
表单ID+"Tip" |
|
如果不自动构建提示层,表示提示成的ID号 如果自动构建提示层,表示提示层相对的目标控件 |
tipcss |
自动构建的提示层的样式 |
"left":"10px", "top":"1px", "height":"20px", "width":"250px" |
|
主要用于定位自动构建的提示层 |
forcevalid |
强制输入的值必须有效 |
true |
√ |
是否把一个全角字符当做2个长度的参数 |
ajax |
提交服务器 |
true |
√ |
ajaxValidator是否把该表单提交给服务器 |
defaultvalue |
默认值 |
null |
√ |
所有input和select表单。如果你不设置就保持原值,一旦设置就设为默认值。 |
triggerevent |
默认值 |
blur |
√ |
当前支持2种属性值: blur:失去焦点的时候触发 change:当输入框里的值发生改变的时候触发 |
|
|
|
|
|
inputValidator: |
|
属性 |
属性名称 |
默认值 |
详细解释 |
type |
比较类型 |
"size" |
(对select无效) "size":表示比较长度 ,默认值 "number":数值型比较 "string":字符型比较 "date":短日期类型 "datetime":长日期类型 |
min |
最小长度/值 |
0 |
默认数值型。如果进行字符比较,请收入字符型 对select-one而言inputValidator里的参数min和max表示选择的索引号范围 对select-multiple而言inputValidator里的参数min和max表示选择的个数 |
max |
最大长度/值 |
99999999999 |
同上 |
onerror |
发生错误的提示 |
"输入错误" |
为空者不显示。 |
onerrormin |
比min属性小的提示 |
null |
当用户输入的值比min属性小的时候的错误提示 |
onerrormax |
比max属性大的提示 |
null |
当用户输入的值比max属性大的时候的错误提示 |
empty |
控件文本值是否允许两边为空 |
两边都允许出现空 |
默认值{leftempty:true,rightempty:true,emptyerror:null} leftempty:表示左边是否允许为空 rightempty:表示右边是否允许为空 emptyerror:出现该错误的时候的提示,如果为null,则利用onerror属性来提示错误。 |
|
|
|
|
|
compareValidator: |
|
属性 |
属性名称 |
默认值 |
详细解释 |
desid |
要比较控件的ID |
"" |
要跟源目标进行比较的目标ID |
operateor |
比较符号 |
"=" |
一共有如下几种类型:=、!=、>、>=、<、<= |
datatype |
数据类型 |
"string" |
目前只支持2种:"string"、"number","datetime","date" |
onerror |
发生错误的提示 |
"输入错误" |
为空者不显示。 |
|
|
|
|
|
regexValidator: |
|
属性 |
属性名称 |
默认值 |
详细解释 |
regexp |
正则表达式或表达式数组 |
"" |
采用的是显式构造函数new RegExp("pattern"[,"flags"]); 由于Javascript 中'' 被用作转义字符,所以在使用显示构造函数构造实例对象的时候,需要使用'\' 代替'' |
param |
附加参数 |
"i" |
g:代表可以进行全局匹配。 i:代表不区分大小写匹配。 m:代表可以进行多行匹配。 可以任意组合,当然也可以不加参数 |
comparetype |
比较类型 |
"||" |
"||"或的关系 "&&"并列 |
datatype |
数据类型 |
"string" |
"string":自己写的表达式,"enum":枚举名。具体请见demo3.htm 你可以自己修改、添加formValidatorRegex.js里的枚举项目名和表达式。 |
onerror: |
发生错误的提示 |
"输入错误" |
为空者不显示。 |
|
|
|
|
|
ajaxValidator: |
几乎所有的属性跟$.ajax()的属性一样,请参考$.ajax()函数的帮助 |
属性 |
属性名称 |
默认值 |
详细解释 |
type |
请求的类型 |
"GET" |
"POST" 或 "GET" |
url |
发送到的URL地址 |
"" |
在服务器端,你可以通过name为clientid获取触发验证的控件ID名 |
datatype |
返回的数据类型 |
"html" |
xml、html、script、json、text |
timeout |
超时设置 |
999 |
|
data |
数据 |
"" |
|
async |
是否以异步的方式发送 |
true |
|
success |
当请求成功时调用的函数 |
null |
|
processdata |
自动处理返回的数据为字符串 |
true |
在默认的情况下,如果data选项传进的数据是一个对象而不是字符串,将会自动地被处理和转换成一个查询字符串 |
complete |
当请求完成时调用的函数 |
null |
|
beforesend |
当请求前时调用的函数 |
null |
有个一个参数,根$.ajax里的beforeSend参数一样。 |
buttons |
你点提交的按钮(组)jQuery对象 |
null |
当你触发了ajax校验,buttons里对应的按钮(组)就会灰掉,一直等待服务器返回数据为止 |
error |
当请求失败时调用的函数 |
"请求失败" |
你可以自己定义这个错误,在error里自动打出。为空者不显示。 |
|
|
functionValidator |
属性 |
属性名称 |
默认值 |
返回值的解释 |
fun |
外部函数名() 参数1:元素的值, 参数2:元素对象 |
默认当作处理过程 |
true/false |
校验成功/失败 |
字符串 |
校验失败,返回值当作自定义错误 |
无 |
处理过程 |
|
onerror |
发生错误的提示 |
"输入错误" |
函数return false的时候,显示该错误信息 |
|
|
|
公共函数: |
主要是设置全局参数和判断是否通过校验 |
函数名 |
函数说明 |
$.formValidator.initConfig |
参数:配置类型
属性 |
默认值 |
说明 |
validatorgroup |
"1" |
你要针对哪个组进行配置 |
formid |
"" |
要自动注册pageIsValid函数的表单ID号 |
alertmessage |
false |
是否弹出窗口 |
autotip |
false |
是否自动构建提示层 |
errorfocus |
true |
发生错误的时候,第一个出错控件是否获得焦点 |
forcevalid |
true |
是否一直输入正确为止才允许离开焦点 |
wideword |
true |
是否把一个全角字符当做2个长度 |
onsuccess |
null |
该组校验通过后的回调函数,返回false,阻止表单的提交 |
submitonce |
false |
校验通过后,是否灰掉所有的提交按钮 |
onerror |
null |
该组校验失败后的回调函数, 有两个参数
参数1 |
一个校验没有通过的错误信息 |
参数2 |
一个校验没有通过的元素对象 |
参数3 |
所有的错误信息数组,你可以通过$.map来遍历 |
|
debug |
false |
是否处于调试模式。true:不提交表单 |
|
$.formValidator.pageIsValid |
一个参数: 不是配置类型
validatorgroup |
"1" |
你要针对哪个组进行验证 |
|
$.formValidator.isOneValid |
一个参数: 当时设置验证的表单元素ID。 返回是否校验成功的信息。 |
$.formValidator.setFailState |
function("tipid","显示的信息") 在showword模式下,如果你的额外校验没有通过,你可以通过它来设置成失败信息和状态 |
$.formValidator.getLength |
function("表单元素id") checkbox或radiobutton表示(同组)选择的个数。 对select-one,选择索引的值 对select-multiple,inputValidator里的参数min和max表示选择的个数 其它input表示的表示字符长度。 |
$.formValidator.retSetTipState |
function(校验组号) 来把该组的提示内容恢复到onshow状态 |
$.formValidator.reloadAutoTip |
重新定位自动构建的提示层 |
|
6.添加修改说明:
代码如下:
view sourceprint? 01.
$.formValidator.reloadAutoTip();
02.
if
(!$.formValidator.pageIsValid(
'1'
))
return
false
;
03.
代码如下:
04.
$(document).ready(
function
() {
05.
$.formValidator.initConfig({ formID:
"form1"
, onError:
function
() { alert(
"校验没有通过,具体错误请看错误提示"
) } });
06.
$(
"#name"
).formValidator({ onShow:
"请输入姓名!"
, onFocus:
"输入一个到十个字符"
, onCorrect:
"输入正确,谢谢您的合作!"
}).inputValidator({ min: 1, max: 20, onError:
"输入长度,不对!"
});
07.
$(
"#timelong"
).formValidator({ onShow:
"请输入路演时长!"
, onFocus:
"输入格式为正整数!"
, onCorrect:
"输入正确,谢谢您的合作!"
}).regexValidator({ regExp:
"intege1"
,dataType:
"enum"
, onError:
"您输入的时长格式不正确!"
});
08.
$(
"#address"
).formValidator({ onShow:
"请输入路演平台名称!"
, onFocus:
"输入一个到五十个字符"
, onCorrect:
"输入正确,谢谢您的合作!"
}).inputValidator({ min: 1, max: 50, onError:
"输入长度,不对!"
});
09.
$(
"#urladdress"
).formValidator({ onShow:
"请输入路演链接地址!"
, onFocus:
"输入格式:http://www.baidu.com"
, onCorrect:
"输入正确,谢谢您的合作!"
}).regexValidator({ regExp:
"^(http|https|ftp)://([a-zA-Z0-9.-]+(:[a-zA-Z0-9.&%$-]+)*@)*((25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]).(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]|0).(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]|0).(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[0-9])|localhost|([a-zA-Z0-9-]+.)*[a-zA-Z0-9-]+.(com|edu|gov|int|mil|net|org|biz|arpa|info|name|pro|aero|coop|museum|[a-zA-Z]{2}))(:[0-9]+)*(/($|[a-zA-Z0-9.,?'\+&%$#=~_-]+))*$"
, onError:
"输入格式不正确!"
});
10.
$(
"#time"
).formValidator({ onCorrect:
"格式正确"
}).functionValidator({fun:isDateTime, onError:
"输入格式,不对!"
});
11.
$(
"#txtcontent"
).formValidator({ onShow:
"请输入专家简介!"
, onFocus:
"输入一个到一百个字符"
, onCorrect:
"输入正确,谢谢您的合作!"
}).inputValidator({ min: 1, max: 100, onError:
"输入长度,不对!"
});
12.
});
转载于:https://www.cnblogs.com/wanshutao/p/4155834.html