统一加上validate验证,可以包括暂存和真实存储,数据暂存的时候,可以调用setRulesByAttr("form","saveValid")方法验证数据合法性后,提交数据至缓存空间,如memcached.
/**
* 重置所有input select之类表单项的验证规则
* 接受若干个参数 参数对应相关表单项的自定义属性名,属性值是可以转换为rule的json字串
* 例如:<input saveValid="{required:true}" validateValid="{required:true,number:true}" " type="text" value="" />
* 在调用时至少要有一个参数 是form的ID
* 另外 如果标签的自定义属性ignoreRules是"true"字串 那么这个标签将不会被验证
*例子:<input name="zinv.alimony" saveValid="{number:true}" validateValid="{number:true,required:true}" value="${fn:escapeXml(zinv.alimony)}" type="text" size="10" />元/月
*调用方式: setRulesByAttr("form","saveValid")或setRulesByAttr("form","validateValid");
*/
function setRulesByAttr(formId){
//传入的第一个元素为表单
var frm = $("#" + arguments[0]);
var e = frm.find("input, select, textarea");
// 遍历每个元素
for(var i = 0; i < e.length; i++){
var je = $(e[i]);
// 是否有时间控件
var onf = je.attr("onfocus");
var hasDate = false;
if(onf != null && onf.toString().indexOf("WdatePicker") >= 0)
hasDate = true;
// 清空验证规则
try{
je.rules("remove");
}catch(exx){
//document.ready里必须加上$('#formId...').validate()
alert("移除对象验证规则错,是否缺少$('#formId...').validate()方法\n" + exx.name + "\n" + exx.message);
continue;
}
//如果只传递了一个formId,那么意思就是说取消所有validate验证规则
if(arguments.length <= 1)
continue;
// 判断对象的ignoreRules,true的话,忽略validate验证规则
var irs = je.attr("ignoreRules");
if(irs != null && $.trim(irs) == "true")
continue;
// 遍历所有属性,如'saveValid'属性,
for(var j=1; j<arguments.length; j++){
// rule的属性名
var a = $.trim(arguments[j]);
// 取出属性值
var asv = je.attr(a);
if(asv != null && $.trim(asv).length > 0){
// 将属性值转为rule json
try{
//将json串转换为json对象.
var jr = eval("(" + asv + ")");
if(hasDate){
// 如果有日历控件 那么强制加上时间验证
jr.dateISO = true;
}
// 增加验证规则,这种增加方式出于validate框架支持
je.rules("add", jr);
}catch(ex){
// 转换出错
alert("无法将“" + asv + "”转换成合法的json");
}
}
}
}
}
这样就避免了大量的js验证代码存在于每个不同的页面中!
:)
分享到:
相关推荐
jquery validate 使用详解
NULL 博文链接:https://wwwzhouhui.iteye.com/blog/1068451
jquery validate例子 能用
自做的一个简单的表单验证 jquery validate 表单验证 jquery validate 表单验证
jquery validate 验证手册
JQuery validate中文详细文档
jQueryValidate
jquery.validate.1.9.0.min.js jquery.validate.1.12.0.min.js jquery.validate.1.13.1.min.js jquery.validate.1.16.0.min.js jquery.validate.1.14.0.min.js jquery.validate.1.15.1.min.js jquery.validate....
jQuery validate 验证 个性化验证
jQuery Validate插件验证表单小练。
本压缩包包含: jquery validate依赖包及其帮助文档....
jquery validate 最稳定版本,最简单的使用方法:http://blog.csdn.net/s592652578/article/details/50845159
Jquery Validate修改版 提示信息以悬浮窗口显示
Jquery validate和form两个插件,完美进行表单验证和Ajax无刷新方式提交form表单,很有用的哦。
解决jquery validate remote 只验证一次的问题
jquery.validate.jsjquery.validate.jsjquery.validate.jsjquery.validate.jsjquery.validate.jsjquery.validate.jsjquery.validate.jsjquery.validate.jsjquery.validate.jsjquery.validate.jsjquery.validate.js...
jquery validate 教程 验证框架 帮助文档 中文文档 基于jQuery的客户段验证插件
jQuery Validate jQuery Validate 插件为表单提供了强大的验证功能,让客户端表单验证变得更简单,同时提供了大量的定制选项,满足应用程序各种需求。该插件捆绑了一套有用的验证方法,包括 URL 和电子邮件验证,...
包含Jquery1.6,JqueryUI界面插件,JqueryForm表单异步提交插件,Jqueryvsdoc,VS2008提示插件,JqueryValidate表单验证插件
jQueryValidate 使用实例,挺全的。jQueryValidate 使用实例,挺全的。