随笔-24  评论-2192  文章-0  trackbacks-20

jQuery formValidator4.0.1 表单校验插件更新日志(已提供下载)

插件主页: http://www.yhuan.com/ 求助帖,每帖必应

QQ交流群:74106519 加入QQ群

4.0.1修复了4.0目前已知的所有BUG,以及以前版本一直未解决的问题。

 

2011/5/22 jQuery formValidator 4.0.1 ver

规范插件的命名:
1、对插件所有函数相关属性的命名采用Camel风格命名,即:第一个单词首字母小写,其余单词首字母大写。本次变动比较大,为了规范插件的命名,希望大家谅解。
2、所有DEMO引用jQuery类库的时候,类库后面直接跟了版本号——表示插件支持的最高类库版本号

 

为ajaxValidator函数增加以下功能:
1、解决页面回退之后,控件获得焦点,不做任何修改,失去焦点后,强行验证
2、formValidator的ajax参数(是否要提交到服务器)默认值改为false,但是ajaxValidator校验的控件无条件提交服务器
3、在url后面增加随机数。name名字为rand
4、提交之前有数据正在服务器端校验,不允许提交。如果在点击提交按钮之前,有触发ajaxValidator校验的,在提交的时候默认不允许,可以自定义错误提示,在initConfig函数里配置参数(submitAfterAjaxPrompt,默认值“当前有数据正在进行服务器端校验,请稍候”)
5、如果在点击提交之前,如果一个控件一次都没有校验过,而且含有 ajaxValidator校验,会自动触发,而且异步返回成功之后,会再次触发提交

 

其他新增和修改:
1、修改initConfig里的error事件,errorlist参数的输出顺序,跟控件的校验顺序相同,如果正确,对应位置的值为null
2、initConfig增加参数submitButtonID,表示触发验证的按钮ID,如果配置了formID,则formID 优先
3、reloadAutoTip、resetTipState和pageIsValid函数的参数(validatorGroup)为空,则默认当做"1"处理
4、删除函数triggerValidate
5、intiConfig增加属性inIframe,表示页面是否嵌在iframe里,默认false
6、alertMessage模式下,默认自动修复错误,即autoModify=true
7、增加FAQ里的提问
8、修改用户手册
9、demo1里增加2选1的范例、把错误集中显示的范例;
10、demo2里触提交用submitButtonID属性


解决以下BUG:
1、regexValidator第一次验证通过后,后面输入非法字符也验证通过的问题
2、处理升级之后,demo1里的“全角字符当做1个长度”按钮出错的问题
3、修复retSetTipState重置的时候,全部重置成onshow的问题,有些刚开始默认是通过的
4、解决捆绑ajaxValidator校验的控件,在页面回退之后,控件获得焦点,不做任何修改,失去焦点后,验证错误的问题
5、解决自动构建提示层示例全部团聚在左上角的问题,详见demo6.html内嵌在demo.html里的代码调用

 

 

-----------------------------------------------------------------------------------------------------------

2011/4/30 jQuery formValidator 4.0ver
这次升级要感谢很多在博客里不断留言的网友,特别感谢网友“mark35”在博客上替我回答网友的提问,再次感谢。

 

1、这次升级精简了代码。

2、提高校验的速度。
如果控件的name相同,则只校验一次,加快校验速度

3、修复4个状态为空时,没有隐藏提示的问题。

4、修改initConfig配置里的onerror函数,增加一个“错误列表”参数。你可以把所有的错误信息集中显示在某处
$.formValidator.initConfig({formid:"form1",
onerror:function(msg,obj,errorlist){
    //遍历所有的错误消息
   $.map(errorlist,function(msg1){alert(msg1)}); 
},
onsuccess:function(){alert('ddd');return false;}
});

5、针对问题比较多的ajaxValidator函数,进行如下修改
a、支持同组的所有表单值都传递给服务器端
必须为每个控件增加name属性,否则是不会传递过去的。
b、去掉addidvalue参数。在服务器端,你可以通过name为clientid获取触发验证的控件ID名
c、为formvalidator增加ajax参数(值为true,false,默认true),表示ajaxValidator是否把该表单提交给服务器

6、修正automodify参数(如果输入的值非法,则恢复原来的值)不起作用的问题

7、regexValidator支持多个正则表达式与和或的校验,详见用户手册和demo1
a、增加属性:compareType,比较类型,默认值"||","||"表示或的关系,"&&"表示并列关系
b、原regexp属性支持接收数组
范例如下:
$("#sjdh").formValidator({empty:true,onshow:"请输入你的手机或者电话号码,可以为空哦",onfocus:"格式例如:0577-88888888或11位手机号码",oncorrect:"谢谢你的合作",onempty:"你真的不想留手机或电话了吗?"}).regexValidator({regexp:["tel","mobile"],datatype:"enum",onerror:"你输入的手机或电话格式不正确"});

8、增加函数$.formvalidator.reloadAutoTip(),来重新定位自动构建的提示层
自动构建提示层所在的网页如果在iframe里,如果刚开始是隐藏的,显示的时候,就会全部团聚在左上角。所以当显示页面的时候,要显式的调用该函数。
官方对offset的解释:
Note: jQuery does not support getting the offset coordinates of hidden elements or accounting for borders, margins, or padding set on the body element.

 

 

下载

4.0.1:http://files.cnblogs.com/wzmaodong/formvalidator4.0.1.zip

posted on 2011-05-22 15:31 猫冬 阅读(3402) 评论(26) 编辑 收藏

评论:
#1楼 2011-05-22 18:29 | testzhangsan      
楼主你自己写的插件啊?好像已经有现成的jquery.validation插件了啊?
 回复 引用 查看   
#2楼 2011-05-22 18:58 | 卖身葬小强      
有没文档之类的?
 回复 引用 查看   
#3楼[楼主] 2011-05-22 21:52 | 猫冬      
@testzhangsan
官方是有个插件

 回复 引用 查看   
#4楼[楼主] 2011-05-22 21:53 | 猫冬      
@卖身葬小强
下载的压缩文件里有

 回复 引用 查看   
#5楼 2011-05-23 08:53 | 贺臣      
猫冬 很好啊 我正在用
 回复 引用 查看   
#6楼 2011-05-23 08:55 | 小小文竹      
为什么还提供4.0的下载
 回复 引用 查看   
#7楼[楼主] 2011-05-23 11:16 | 猫冬      
@小小文竹
你太有才了,忘记去掉了。已去掉

 回复 引用 查看   
#8楼 2011-05-23 13:06 | BigMouth      
博主啊. 那个AJax那个为什么我提交过去在返回结果他就会出现"服务器校验没有通过" 明明我已经在data中能获取到返回结果了.
 回复 引用 查看   
#9楼 2011-05-23 15:04 | 秦时 明月      
楼主什么开源协议啊?
 回复 引用 查看   
#10楼 2011-05-25 14:58 | 微生物      
我依稀记得58同城好像是用的楼主的这个插件,不知是否准确。难道楼主在58同城?
 回复 引用 查看   
#11楼 2011-06-10 17:21 | ★金★      
问一个问题,验证成功后如何加一个提示?
eg:你确定要执行吗?
请问如果来处理?

 回复 引用 查看   
#12楼 2011-06-10 17:32 | ★金★      
$.formValidator.initConfig({ submitButtonID: "myform", debug: true,
        //onSuccess: function () { alert("校验组1通过验证,不过我不给它提交"); },

        onSuccess: function () {
            if (confirm("提醒:您确定要执行此次操作吗?")) { return true; }
            else { return false; }
        },
        onError: function (msg) { alert(msg) } 
    });

这样为什么不行?

 回复 引用 查看   
#13楼[楼主] 2011-06-11 00:36 | 猫冬      
@★金★
如果myform是个form的ID,你得配置formID: "myform"
而且debug:false

新版本的换肤功能已经实现,现在群里先试用,请关注更新

 回复 引用 查看   
#14楼[楼主] 2011-06-11 00:37 | 猫冬      
@秦时 明月
LGPL

 回复 引用 查看   
#15楼 2011-06-13 08:53 | ★金★      
了解,你的群已经满了,新成员加入不了了,能不能再开个群?
 回复 引用 查看   
#16楼 2011-06-17 16:27 | lfwljl      
作者你好,请问如果在tabs选项卡下分别有两个页面都各有一个表单。两个页面都配置了各自initConfig(formid:"")后,为什么第二个页面的表单提交成功会执行到第一个页面的onsuccess事件里???我的版本是3.5
 回复 引用 查看   
#17楼[楼主] 2011-06-21 12:37 | 猫冬      
@lfwljl
请看一下demo2里的范例,注意validatorGroup这个属性

 回复 引用 查看   
#18楼 2011-06-21 17:31 | 一碗值钱      
提交成功 怎么在火狐里面没有提示 IE里面可以?
 回复 引用 查看   
#19楼 2011-06-21 17:32 | 一碗值钱      
提交成功之后IE里面能提示 火狐里面咋没反应?
$.formValidator.initConfig(
                {   
                    formID:"myForm",
                    debug:false,
                    submitOnce:true,
		            onError:function(msg,obj,errorlist){alert(msg);},
		            success:function()
		            {
		                $.ajax({
		                    type:"GET",
		                    url:"Test.aspx",
		                    datatype:"text",
		                    data:"username="+$("#txtUserName").val(),
		                    success:function(text)
		                    {
		                        if(text=="1")
		                        {
		                            alert("恭喜您,注册成功!");
		                        }
		                        else
		                        {
		                            alert("抱歉,注册失败,请稍后重试!");
		                        }
		                        
		                    }
		                })
		            
		            },
		            submitAfterAjaxPrompt : '有数据正在异步验证,请稍等...'
		        });

 回复 引用 查看   
#20楼 2011-06-21 17:33 | 一碗值钱      
success 改成 onSuccess
 回复 引用 查看   
#21楼 2011-06-22 16:26 | 一碗值钱      
debug:true 就可以了



 回复 引用 查看   
#22楼 2011-06-22 16:27 | 王老二      
楼主很牛了,58真的用的是你的插件。足以说明楼主的程序和Jqury类库一样。实用。在数据验证方面优秀于Jqury官方的了.
 回复 引用 查看   
#23楼 2011-06-22 17:50 | 一碗值钱      
第一次用这个验证插件 原来我上面说的都是废话 开始没搞清楚思路哈
呵呵 还是不错的

 回复 引用 查看   
#24楼 2011-06-23 16:31 | 634      
【诚聘】jQuery图书兼职作者

北京源智天下科技有限公司是一家以图书策划、创作、计算机培训为一体的优秀团队,公司理念是融天下优秀人员智慧为发展本源,力争成为中国最优秀的内容提供商,也力争为各类计算机技术人员或者其他类型的人员提供优质的培训服务。我们和清华大学出版社、机械工业出版社、电子工业出版社有很好的合作关系,每年出版上百本图书。现招聘jQuery图书兼职作者。

作者要求:熟悉jQuery的开发,有良好的语言表达能力。

更重要的是:
你拥有奉献知识、传道授业的精神,一种桃李满天下的成就感;
当然得到如下报酬:
(1)丰厚的稿酬 —— 知识创造财富!。
(2)书籍的署名权,和由此带来的宣传效益。
(3)能够很大程度的提高作者的人气和声望。
(4)还可以总结个人的经验,在不断的学习中进步。

有意者请将个人介绍和联系方式(QQ或MSN)发到本人邮箱yuanztx@126.com。若作者没有写书的经验没有关系,我们会教作者如何的去写好每一本书的。

 回复 引用 查看   
#25楼[楼主] 2011-06-25 18:35 | 猫冬      
@王老二
谢谢夸奖

 回复 引用 查看   
#26楼[楼主] 2011-06-25 18:36 | 猫冬      
@一碗值钱
你这么写法有点奇怪

下个版本会支持整个表单ajax提交的

 回复 引用 查看   
昵称:猫冬
园龄:5年1个月
粉丝:74
关注:2
<2011年5月>
24252627282930
1234567
891011121314
15161718192021
22232425262728
2930311234

搜索

 
 

常用链接

我的标签

随笔档案

相册

最新评论

阅读排行榜