javascript

位置:IT落伍者 >> javascript >> 浏览文章

jValidate 基于jQuery的表单验证插件


发布日期:2022年02月18日
 
jValidate 基于jQuery的表单验证插件
网上的各类表单验证插件的验证规则都是写在脚本里的但我的插件的验证规则却是写在表单元素的属性里的如下面的例子

复制代码 代码如下:

<input name=name type=text id=name size= jvpattern=^+$ jverrortip=请输入正确的姓名 jvtipid=spt_name jvmethod=checkname />

<span id=spt_name class=normaltips jverrorclass=errortips jvcorrectclass=correcttips></span>

注意看上面代码中以jv开头的各种属性名这些都是表单验证插件需要用的属性值其中各属性代表的意思请阅读以下表

form表格控件元素可使用的属性

属性名说明jvpattern用来验证控件值是否正确的正则表达式(可不定义此属性)jvcompareid需要与当前控件进行值相等比较的其它控件id(可不定义此属性)jvrequired表明当前控件值是否是必须的也即是否允许当前控件值为空如不定义此属性则默认为不可空如果值为false或则允许为空(可不定义此属性)jvmethod

定义需要进行额外验证的方法(可不定义此属性)

此属性值如果定义则不需要输写括号并且函数原型为

xx function(item){

//代码

//true表示验证成功false表示验证失败

return true/false;

//或者带错误消息的返回

return {result:true/false message:错误消息};

}

其中item参数是当前控件对象的jQuery实例

jvtipid

显示验证提示信息的控件id(可不定义此属性)

如果不定义此属性并且未定义onerror或oncorrect函数则默认为alert提示

jverrortip当验证失败时要显示的提示信息(可不定义此属性)jvcorrecttip当验证成功时要显示的提示信息(可不定义此属性)jvfocuson当验证失败后是否需要将光标移到控件上(可不定义此属性)

控件上必须定义jvpatternjvmethodjvcompareid 三者之中的一个或多个否则插件将不对对应的控件进行验证

tip提示控件元素可使用的属性tip提示控件即是某个表单控件jvtipid指定的控件

属性名说明jvnormalclass正常情况下显示提示信息时采用的css样式的classname(可不定义此属性)jvcorrectclass验证成功后显示提示信息时采用的css样式的classname(可不定义此属性)jverrorclass验证失败后显示提示信息时采用的css样式的classname(可不定义此属性)

当控件规则设置好后就可以直接激活调用jValidate以便当表单进行submit提交前进行验证检查

示例

$(form)jValidate();

或者带参数的调用

$(form)jValidate({

blurvalidate : true

isbubble : false

onerror : function(itemform){

$jMessageBoxshow(错误 itemattr(jverrortip));

}

});

可设置的参数请阅读下表

参数名说明isbubble

是否允许冒泡也即是否允许逐个检查各控件值如果值为true则会逐一检查验证所有已设置验证规则的控件如果值为false则当有一个控件值验证失败(不符合条件)后将退出后续控件的检查默认值为false

如果提示信息是以弹出窗口方式显示的建议将此值设置为false以免一下子弹出较多提示引起用户反感

blurvalidate设置当个个控件失去焦点后是否需要即时检查验证默认值为falseemptytip是否允许空提示也即是当没有提示信息可显示时是否还允许提示控件改变css类默认值为falseoncorrect

当控件值验证成功时调用处理的方法如果未定义则采用默认行为函数原型

function(item form){

//代码

}

其中参数item: 表示当前控件的jQuery实例; form : 表示控件所在的表单实例

onerror

当控件值验证失败时调用处理的方法如果未定义则采用默认行为函数原型

function(item form){

//代码

}

其中参数item: 表示当前控件的jQuery实例; form : 表示控件所在的表单实例

示例截图

源码下载 压缩包附带jMessageBox示例

上一篇:JavaScript作用域链使用介绍

下一篇:Javascript日期级联组件代码分析及demo