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

來源:互聯網
上載者:User
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,是校正這個組的控制項所有都通過校正了,就繼續做某事,你看,這樣就簡單多了
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.