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: "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,是校验这个组的控件所有都通过校验了,就继续做某事,你看,这样就简单多了
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值