12jQuery formValidator插件

jQuery formValidator是一个客户端表单验证插件,用于输入验证、比较验证、正则表达式验证、Ajax验证和函数验证。它支持多种验证方式,如inputValidator、compareValidator、ajaxValidator、regexValidator和functionValidator,可用于不同类型的输入元素。用户可以自定义错误提示、验证规则和数据类型。此外,插件还提供了自动构建提示层、多组验证、动态修改验证配置等功能,并支持My97 DatePicker等日期控件。
摘要由CSDN通过智能技术生成
jQuery formValidator表单验证插件是客户端表单验证插件。
使用jQuery formValidator需要加载的js文件:
加载jQuery类库支持jquery-1.3.2
<script src="jquery-1.3.2.js" type="text/javascript"></script>
注意这里jquery-1.3.2.js必须导入到其他js文件前面。


需要导入的css样式文件:validator.css
<link type="text/css" rel="stylesheet" href="formValidator/style/validator.css"></link>


加载插件的样式库,如果你是自动构建提示层,请加载validatorAuto.css,(一般不需要导入)


加载验证用的核心文件:formValidator.js
<script src="formValidator.js" type="text/javascript"></script>


加载用于正则表达式的扩展文件:formValidatorRegex.js
<script src="formValidatorRegex.js" type="text/javascript"></script>


如果使用验证中日历控件还需要导入的文件有:
formValidator/DateTimeMask.js
formValidator/datepicker/WdatePicker.js






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


每种格式支持的控件类型如下:
inputValidator:text,radio,checkbox,file,password,textarea,select单选/多选
compareValidator:text,file,password,textarea
ajaxValidator:text,file,password,textarea,select单选/多选
regexValidator:text,file,password,textarea
functionValidator:text,radio.checkbox,file,password,textarea,select单选/多选


插件目前提示错误,有两种模式:showword和showalert,即文字提示和窗口提示,下面的4大验证方式,针对showalert这种方式不是都必须的,有些配置是没有作用的。


formValidator用来初始化类型,必须先执行。例如:设置当元素获取焦点是显示的提示信息,验证失败的错误提示等。当对某个元素进行验证配置时先配置formValidator然后再配置下面的inputValidator等验证,一般将异步Ajax验证放在后面。
inputValidator用来设置元素可接受的验证规则,例如:最大最小长度,日期的格式。(一个元素上可以有多个inputValidator)
compareValiator用来进行元素之间的比较。例如:密码是否相同。
regexValidator用来进行正则表达式的验证。
ajaxValidator用来进行异步验证。


$.formValidator.initConfig,用于对要进行验证的表单进行初始化
例如:下面是对id为form1的表单进行初始化
$.formValidator.initConfig({formid:"form1",onsuccess:function(){alert('ddd');return true;},
onerror:function(msg,elem){alert(msg+elem.id);}
});
例如:下面是对id为test1的文本域配置验证规则并与id为max的文本进行比较。
$("#test1").formValidator({onfocus:"用户名至少6个字符,最多10个字符",oncorrect:"",onshow:""})
.inputValidator({min:6,max:10,onerror:"你输入的用户名非法,请确认"})
.compareValidator({desid:"max",operateor:"<",onerror:"大小不对",datatype:"number"});
对于.compareValidator,<表示小于,>表示大于,!=表示不等于,=表示等于,大于等于>=,小于等于<=
*****************
jQuery formValidator的验证执行是在单击了表单中的submit按钮触发。如果是通过button调用Form表单的submit()方法,那么表单在没有通过验证的情况下也会提交。如果想通过botton来提交表单并且进行验证应该使用$("#Formid").trigger("submit");来触发Submit事件,而不要使用submit()方法。


****************


initConfig中的参数:
formid,接受的值是被验证的表单的id。


onsuccess,接受一个函数,表示在表单中的被验证的通过验证后的执行的函数。不能只写函数名称。但是只有该函数return true时表单才能被提交。如果return false表单时不能被提交的。


onerror,同样也是接受一个函数,如果在表单验证失败时执行。onerror对应的函数可以接受两个参数,第一个参数是第一个验证失败元素提示的错误信息,第二个参数代表第一个验证失败元素(DOM)。当表单提交时调用此函数


wideword,表示是否把一个全角字符(中文字符)当做2个长度。默认为true;


errorfocus,表示发生错误时,第一个出错的控件是否获得焦点。默认为true;


validatorGroup String
(默认: "1")     属性名:校验组组号。    你要针对哪个组进行配置。
formvalidator函数里的validatorGroup值如果跟这里的值一样,就认为是同一组的控件。


forceValid Boolean
(默认: true)     属性名:强制验证。    同组的控件都采用:一直输入正确为止才允许离开焦点


alertMessage Boolean
属性名:弹出窗口模式。    是否弹出窗口。是否通过alert来提示错误信息,没有漂浮的提示层


autoTip Boolean
(默认: false)     属性名:自动构建提示层。    是否自动构建提示层。插件自动构建提示层,偏移的位置用formValidator函数里的tipCss来动态调整相对位置




formValidator中的参数:
validatorGroup,默认值为1,一个页面的控件可以分成多个组,分开进行校验。
empty,被验证的元素是否为空。默认为false,不能为空。
automodify,输入错误离开焦点的时候自动修复错误。支持text,file,textarea三种类型。
onempty,输入内容为空的时候提示的信息。如果取值为空则不显示。
onshow,显示的时候给出的提示的信息。如果取值为空则不显示。
onfocus,获得焦点的提示的信息。如果取值为空则不显示。
oncorrect,输出正确后的提示。如果输出正确将出现该提示,为空将不提示。
tipid,显示错误的容器ID,默认为被验证的元素的ID+"Tip"。
defaultvalue,input和select元素的默认值。
triggerevent,默认值为blur(失去焦点时触发),change:当输入框里的值发生改变的时候触发。
leftTrim:默认为false,是否去掉左边空格再校验。
rightTrim:默认为false,是否去掉右边空格再校验。


例如下面的是针对select多选,defaultvalue:["0","1","2"]表示默认select元素中的索引号为0,1,2的项是被
$("#selectmore").formValidator({onshow:"按住CTRL可以多选",onfocus:"按住CTRL可以多选,至少选择2个",oncorrect:"谢谢你的合作",defaultvalue:["0","1","2"]})
.inputValidator({min:2,onerror:"至少选择2个"});




inputValidator中的参数:
type,比较类型。对select无效。默认为"size":表示比较长度。还可以取值为:(以下取值用引号包括)
number:数值型比较。
string:字符型比较。
date:短日期类型。
datetime:长日期类型。


min,最小长度。默认为0。默认数值型。对select-one而言inputValidator里的参数min和max表示选择的索引号范围。对select-multiple而言inputValidator里的参数min和max表示选择的个数。对于checkbox而言表示被选中的checkbox的最小个数。
例如:
$(":checkbox[name='checkbox1']").formValidator().inputValidator({min:1,onerror:"你选的个数不对(至少选择一个)"});
 <td colspan="2"> <input type="checkbox" name="checkbox1" id="qq1"/>
        乒乓球 
        <input type="checkbox" name="checkbox1" id="qq2" value="1" />
        羽毛球 
        <input type="checkbox" name="checkbox1" id="qq3" value="2" />
        上网 
        <input type="checkbox" name="checkbox1" id="qq4" value="3" />
        旅游 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值