JQuery FormValidator表单验证(转)

JQuery FormValidator表单验证插件  

2012-10-18 11:36:52|  分类: FormValidator |  标签:formvalidator   |字号 订阅

1. jQuery formValidator能做什么,不能做什么? 

jQuery formValidator表单校验插件支持的验证功能(还有很多功能没有罗列)罗列如下:

  • 支持所有类型客户端控件的校验
  • 支持jQuery所有的选择器语法,只要控件有唯一ID和type属性。
  • 支持函数和正则表达式的扩展。提供扩展库formValidatorReg.js,你可以自由的添加、修改里面的内容。
  • 支持2种校验模式。第一种:文字提示(showword模式);第二种:弹出窗口提示(showalert模式)
  • 支持多个校验组。如果一个页面有多个提交按钮,分别做不同得提交,提交前要做不同的校验,所以你得用到校验组的功能。
  • 支持4种状态的信息提示功能,可以灵活的控制4种状态是否显示。第一种:刚打开网页的时候进行提示;第二种:获得焦点的时候进行提示;第三种:失去焦点时,校验成功时候的提示;第四种:失去焦点时,校验失败的错误提示。
  • 支持自动构建提示层。
  • 支持自定义错误提示信息。
  • 支持控件的字符长度、值范围、选择个数的控制。值范围支持数值型和字符型;选择的个数支持radio/checkbox/select三种控件
  • 支持2个控件值的比较。目前可以比较字符串和数值型。
  • 支持服务器端校验。
  • 支持输入格式的校验。

jQuery formValidator不能做的:

  • 目前对控件ID是动态产生的情况支持的不是很好。例如asp.net里的gridview控件,因为它的每行数据都是动态产生的,捕捉不到控件的ID。不过你硬要写,也是能实现的。
  • 其他没有提到的,很希望你能告诉我们。

2. 什么情况下,我应该使用jQuery formValidator?

只要控件ID是一定的,即:控件ID是你自己指定的,这种情况你都可以调用。当然动态产生ID的,你也可以调用。jQuery formValidator可以帮助你减轻客户端校验编程的压力,让你有更多的精力投入对业务的关注中。

无论你是大型系统还是小型系统都适合调用本插件,本插件的压缩版本只有6K(可能本网页的一张图片就有几十K),个人认为可以忽略网页的加载时间。

3. 使用插件必须加载的文件

//加载jQuery类库
<script src="http://fd2012.blog.163.com/blog/jquery_last.js" type="text/javascript"></script>
//加载插件的样式库,如果你是自动构建提示层,请加载validatorAuto.css
<link type="text/css" rel="stylesheet" href="http://fd2012.blog.163.com/blog/style/validator.css"></link>
//加载插件
<script src="http://fd2012.blog.163.com/blog/formValidator.js" type="text/javascript"></script>
//加载扩展库
<script src="http://fd2012.blog.163.com/blog/formValidatorRegex.js" type="text/javascript"></script>

4. jQuery formValidator插件的API帮助

目前支持5种大的校验方式,分别是:inputValidator(针对input、 textarea、select控件的字符长度、值范围、选择个数的控制)、compareValidator(提供2个对象的比较,目前可以比较字符串 和数值型)、ajaxValidator(通过ajax到服务器上做数据校验)、regexValidator(提供可扩展的正则表达式库) 、functionValidator (提供可扩展函数库来做校验)

每种格式支持的控件类型如下:

 inputtextareaselect
校验方式textradiocheckboxfilepasswordtextareaselect-one
inputValidator
compareValidator   
ajaxValidator  
regexValidator   
functionValidator
如果你用了不支持的校验功能,插件将忽略这个校验功能。

插件目前提示错误,有两种模式:showword和showalert,即文字提示和窗口提示 ,下面的4大验证方式,针对showalert这种方式不是都必须的,有些配置是没有作用的
下面分别罗列全局初始化和5种校验方式公开的属性
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重新定位自动构建的提示层


Python网络爬虫与推荐算法新闻推荐平台:网络爬虫:通过Python实现新浪新闻的爬取,可爬取新闻页面上的标题、文本、图片、视频链接(保留排版) 推荐算法:权重衰减+标签推荐+区域推荐+热点推荐.zip项目工程资源经过严格测试可直接运行成功且功能正常的情况才上传,可轻松复刻,拿到资料包后可轻松复现出一样的项目,本人系统开发经验充足(全领域),有任何使用问题欢迎随时与我联系,我会及时为您解惑,提供帮助。 【资源内容】:包含完整源码+工程文件+说明(如有)等。答辩评审平均分达到96分,放心下载使用!可轻松复现,设计报告也可借鉴此项目,该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的。 【提供帮助】:有任何使用问题欢迎随时与我联系,我会及时解答解惑,提供帮助 【附带帮助】:若还需要相关开发工具、学习资料等,我会提供帮助,提供资料,鼓励学习进步 【项目价值】:可用在相关项目设计中,皆可应用在项目、毕业设计、课程设计、期末/期中/大作业、工程实训、大创等学科竞赛比赛、初期项目立项、学习/练手等方面,可借鉴此优质项目实现复刻,设计报告也可借鉴此项目,也可基于此项目来扩展开发出更多功能 下载后请首先打开README文件(如有),项目工程可直接复现复刻,如果基础还行,也可在此程序基础上进行修改,以实现其它功能。供开源学习/技术交流/学习参考,勿用于商业用途。质量优质,放心下载使用。
1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
各种安全相关思维导图整理收集。渗透步骤,web安全,CTF,业务安全,人工智能,区块链安全,数据安全,安全开发,无线安全,社会工程学,二进制安全,移动安全,红蓝对抗,运维安全,风控安全,linux安全.zip项目工程资源经过严格测试可直接运行成功且功能正常的情况才上传,可轻松复刻,拿到资料包后可轻松复现出一样的项目,本人系统开发经验充足(全领域),有任何使用问题欢迎随时与我联系,我会及时为您解惑,提供帮助。 【资源内容】:包含完整源码+工程文件+说明(如有)等。答辩评审平均分达到96分,放心下载使用!可轻松复现,设计报告也可借鉴此项目,该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的。 【提供帮助】:有任何使用问题欢迎随时与我联系,我会及时解答解惑,提供帮助 【附带帮助】:若还需要相关开发工具、学习资料等,我会提供帮助,提供资料,鼓励学习进步 【项目价值】:可用在相关项目设计中,皆可应用在项目、毕业设计、课程设计、期末/期中/大作业、工程实训、大创等学科竞赛比赛、初期项目立项、学习/练手等方面,可借鉴此优质项目实现复刻,设计报告也可借鉴此项目,也可基于此项目来扩展开发出更多功能 下载后请首先打开README文件(如有),项目工程可直接复现复刻,如果基础还行,也可在此程序基础上进行修改,以实现其它功能。供开源学习/技术交流/学习参考,勿用于商业用途。质量优质,放心下载使用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值