首頁  >  文章  >  web前端  >  formvalidator驗證外掛程式中有關ajax驗證問題_jquery

formvalidator驗證外掛程式中有關ajax驗證問題_jquery

WBOY
WBOY原創
2016-05-16 17:44:341420瀏覽

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.

解決方式見複製程式碼


程式碼如下:


if ($.formValidator.pageIsValid('1')==true)
{
$ .post("xxxxxxxxxxxxxxxxx") } 其他校驗規則照樣寫,如果頁面只有一個表單,則預設為1,這裡的pageIsValid,是校驗這個群組的控制項都通過校驗了,就繼續做某件事,你看,這樣就簡單多了
陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn