强大的JQuery表单验证插件 FormValidator使用介绍

强大的JQuery表单验证插件 FormValidator使用介绍

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>中要验证的标签(做一些常用的演示)

代码如下:

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> <!--必须注意这里提示验证信息中的div的id值,跟要验证控件中的id值多了一个Tip,下面的都是这样。必须多的是Tip,也必须要多。-->

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>中的代码

代码如下:



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.//$("#").formValidator({onShow:"",onfocus:"请输入",onCorrect:"谢谢你的合作,你的正确"}).regexValidator({regExp:"",dataType:"enum",onError:"格式不正确"});

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提交服务器trueajaxValidator是否把该表单提交给服务器
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号
alertmessagefalse是否弹出窗口
autotipfalse是否自动构建提示层
errorfocustrue发生错误的时候,第一个出错控件是否获得焦点
forcevalidtrue是否一直输入正确为止才允许离开焦点
widewordtrue是否把一个全角字符当做2个长度
onsuccessnull该组校验通过后的回调函数,返回false,阻止表单的提交
submitoncefalse校验通过后,是否灰掉所有的提交按钮
onerrornull该组校验失败后的回调函数, 有两个参数

 

参数1一个校验没有通过的错误信息
参数2一个校验没有通过的元素对象
参数3所有的错误信息数组,你可以通过$.map来遍历
debugfalse是否处于调试模式。true:不提交表单
$.formValidator.pageIsValid一个参数: 不是配置类型

 

validatorgroup"1"你要针对哪个组进行验证
$.formValidator.isOneValid一个参数: 当时设置验证的表单元素ID。
返回是否校验成功的信息。
$.formValidator.setFailStatefunction("tipid","显示的信息")
在showword模式下,如果你的额外校验没有通过,你可以通过它来设置成失败信息和状态
$.formValidator.getLengthfunction("表单元素id")
checkbox或radiobutton表示(同组)选择的个数。
对select-one,选择索引的值
对select-multiple,inputValidator里的参数min和max表示选择的个数
其它input表示的表示字符长度。
$.formValidator.retSetTipStatefunction(校验组号) 来把该组的提示内容恢复到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提交服务器trueajaxValidator是否把该表单提交给服务器
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号
alertmessagefalse是否弹出窗口
autotipfalse是否自动构建提示层
errorfocustrue发生错误的时候,第一个出错控件是否获得焦点
forcevalidtrue是否一直输入正确为止才允许离开焦点
widewordtrue是否把一个全角字符当做2个长度
onsuccessnull该组校验通过后的回调函数,返回false,阻止表单的提交
submitoncefalse校验通过后,是否灰掉所有的提交按钮
onerrornull该组校验失败后的回调函数, 有两个参数

 

参数1一个校验没有通过的错误信息
参数2一个校验没有通过的元素对象
参数3所有的错误信息数组,你可以通过$.map来遍历
debugfalse是否处于调试模式。true:不提交表单
$.formValidator.pageIsValid一个参数: 不是配置类型

 

validatorgroup"1"你要针对哪个组进行验证
$.formValidator.isOneValid一个参数: 当时设置验证的表单元素ID。
返回是否校验成功的信息。
$.formValidator.setFailStatefunction("tipid","显示的信息")
在showword模式下,如果你的额外校验没有通过,你可以通过它来设置成失败信息和状态
$.formValidator.getLengthfunction("表单元素id")
checkbox或radiobutton表示(同组)选择的个数。
对select-one,选择索引的值
对select-multiple,inputValidator里的参数min和max表示选择的个数
其它input表示的表示字符长度。
$.formValidator.retSetTipStatefunction(校验组号) 来把该组的提示内容恢复到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提交服务器trueajaxValidator是否把该表单提交给服务器
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号
alertmessagefalse是否弹出窗口
autotipfalse是否自动构建提示层
errorfocustrue发生错误的时候,第一个出错控件是否获得焦点
forcevalidtrue是否一直输入正确为止才允许离开焦点
widewordtrue是否把一个全角字符当做2个长度
onsuccessnull该组校验通过后的回调函数,返回false,阻止表单的提交
submitoncefalse校验通过后,是否灰掉所有的提交按钮
onerrornull该组校验失败后的回调函数, 有两个参数

 

参数1一个校验没有通过的错误信息
参数2一个校验没有通过的元素对象
参数3所有的错误信息数组,你可以通过$.map来遍历
debugfalse是否处于调试模式。true:不提交表单
$.formValidator.pageIsValid一个参数: 不是配置类型

 

validatorgroup"1"你要针对哪个组进行验证
$.formValidator.isOneValid一个参数: 当时设置验证的表单元素ID。
返回是否校验成功的信息。
$.formValidator.setFailStatefunction("tipid","显示的信息")
在showword模式下,如果你的额外校验没有通过,你可以通过它来设置成失败信息和状态
$.formValidator.getLengthfunction("表单元素id")
checkbox或radiobutton表示(同组)选择的个数。
对select-one,选择索引的值
对select-multiple,inputValidator里的参数min和max表示选择的个数
其它input表示的表示字符长度。
$.formValidator.retSetTipStatefunction(校验组号) 来把该组的提示内容恢复到onshow状态
$.formValidator.reloadAutoTip重新定位自动构建的提示层

6.添加修改说明:

代码如下:

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.});

 

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值