formvalidator验证插件中有关ajax验证问题
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: "https://www.51gh.net/chkuser.x?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.
解决方式见:
https://www.iteye.com/problems/7099
但这个问题很奇怪,而且感觉用formvalidtor本身的方法太麻烦,所以就找了另外的方法,果然好用,那就是使用
. 代码如下:
if ($.formvalidator.pageisvalid('1')==true)
{
$.post("xxxxxxxxxxxxxxxxx")
}
其他校验规则照样写,如果页面只有一个表单,则默认为1,这里的pageisvalid,是校验这个组的控件所有都通过校验了,就继续做某事,你看,这样就简单多了。
上一篇: 烧写uboot的三种方式
推荐阅读
-
jquery formValidator插件ajax验证 内容不做任何修改再离开提示错误的bug解决方法
-
formvalidator验证插件中有关ajax验证问题
-
php中使用ajax进行登陆验证后,页面出错的有关问题
-
关于PHP中的输入验证有关问题
-
php+Ajax进行验证用户名的时候遇到的编码有关问题
-
wordpress中输出验证码图片的有关问题
-
php中使用ajax进行登陆验证后,页面出错的有关问题
-
php中使用ajax进行登陆验证后,页面出错的有关问题
-
jquery formValidator插件ajax验证 内容不做任何修改再离开提示错误的bug解决方法_jquery
-
php中,js验证注册条件,显示提示信息时的中文乱码有关问题