formvalidator验证插件中有关ajax验证问题
formvalidator验证插件中有关ajax验证问题
发布时间:2016-12-30 来源:查字典编辑
摘要:jqueryformvalidator插件是不错的国产验证插件了,做点普通的校验也是很方便的,但最近遇到个问题,发现如果表单整个表单是AJA...

jquery formvalidator插件是不错的国产验证插件了,做点普通的校验也是很方便的,但最近遇到个问题,发现如果表单整个表单是AJAX提交时,就不能按传统的做法了,比如:

复制代码 代码如下:

$ajax.post("...............")

$.formValidator.initConfig({formID:"applyForm",onError:function(msg){alert(msg)}});

$("#reason").formValidator().inputValidator({min:1,onErrorMin:'请输入申请内容及原因'});

很遗憾,单这样是达不到AJAX FORM提交并同时用formvalidator校验的效果的。如果要同时使用formvalidator和ajax提交一起的话,首先看到的是formvalidtor手册中关于ajaxform的用法

复制代码 代码如下:

$.formValidator.initConfig({theme:"Default",submitOnce:true,formID:"form1",ajaxForm:{

dataType : "html",

buttons:$("#button"),

url: "http://www.51gh.net/chkuser.aspx?act=ok"

},

onError:function(msg,obj,errorlist){

$("#errorlist").empty();

$.map(errorlist,function(msg){

$("#errorlist").append("[*]" + msg + "

")

});

alert(msg);

},

submitAfterAjaxPrompt : '有数据正在异步验证,请稍等...'

});

看了下,这个方法看上去是可以的,但实际上,居然对中文支持不好,我的是

struts2,spring 3,tomcat也是用utf-8,sturts2等全部用UTF-8编码了,但居然还是说当取的

struts2的中文值的时候,说:

org.apache.tomcat.util.http.Parameters processParameters

警告: Parameters: Character decoding failed. Parameter skipped.

java.io.CharConversionException: isHexDigit.

解决方式见:

http://www.iteye.com/problems/7099

但这个问题很奇怪,而且感觉用formvalidtor本身的方法太麻烦,所以就找了另外的方法,果然好用,那就是使用

复制代码 代码如下:

if ($.formValidator.pageIsValid('1')==true)

{

$.post("xxxxxxxxxxxxxxxxx")

}

其他校验规则照样写,如果页面只有一个表单,则默认为1,这里的pageIsValid,是校验这个组的控件所有都通过校验了,就继续做某事,你看,这样就简单多了

推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
相关阅读
网友关注
最新Javascript教程学习
热门Javascript教程学习
编程开发子分类