工作總結篇:如何使用jquery的validate,jqueryvalidate

來源:互聯網
上載者:User

工作總結篇:如何使用jquery的validate,jqueryvalidate

前言:經過一系列的調查,終於弄清楚了jqgrid的validate的remote用法,用起來很強大,並且很方便,下面進行一些總結

第一步:準備材料jquery.validate.js,載入到你項目中

<script src="js/jquery.validate.js" type="text/javascript"></script>
第二步:先查看一下remote的源碼,你就會明白很多,我是通過firebug進行調查弄清楚的,把關鍵點的注釋寫了出來
// http://docs.jquery.com/Plugins/Validation/Methods/remoteremote: function( value, element, param ) {if ( this.optional(element) ) {return "dependency-mismatch";}// 已經驗證過了,會從這裡面取var previous = this.previousValue(element);if (!this.settings.messages[element.name] ) {this.settings.messages[element.name] = {};}previous.originalMessage = this.settings.messages[element.name].remote;this.settings.messages[element.name].remote = previous.message;param = typeof param === "string" && {url:param} || param;if ( previous.old === value ) {return previous.valid;}previous.old = value;var validator = this;this.startRequest(element);var data = {};data[element.name] = value;$.ajax($.extend(true, {url: param,// 傳遞的後台url,來進行資料驗證mode: "abort",port: "validate" + element.name,dataType: "json",data: data,//傳遞的參數為對應intput標籤對應name和value值success: function( response ) {//response為後台返回資料,錯誤的時候返回錯誤提示資訊,正確的時候返回truevalidator.settings.messages[element.name].remote = previous.originalMessage;var valid = response === true || response === "true";//如果返回true,則會進入到if語句,錯誤提示消失if ( valid ) {var submitted = validator.formSubmitted;validator.prepareElement(element);validator.formSubmitted = submitted;validator.successList.push(element);delete validator.invalid[element.name];validator.showErrors();} else {var errors = {};var message = response || validator.defaultMessage( element, "remote" );//如果後台返回有錯誤提示資訊,則不會取預設顯示資訊errors[element.name] = previous.message = $.isFunction(message) ? message(value) : message;validator.invalid[element.name] = true;validator.showErrors(errors);}previous.valid = valid;validator.stopRequest(element, valid);}}, param));return "pending";}
第三步:在前端進行remote設定,對背景請求地址傳遞過去
<input type="text" class="required alphanumeric" remote="${ctx}/jade/checkCodeIsExist.do" name="code"/>
第四步:在後台接收參數進行處理,返回對應處理資訊,注意,正常的時候返回true,檢驗不通過的時候返回錯誤提示資訊
@RequestMapping(value = "checkCodeIsExist")public void checkCodeIsExist(HttpServletRequest request, HttpServletResponse reponse) throws Exception {Jadeinfo jadeinfo = this.jadeinfoDAO.selectByCodeKey(StrUtil.getUTF8String(request.getParameter("code")));if (jadeinfo != null && jadeinfo.getDeleteflag() == 0) {out("商品代碼已存在!", reponse);} else {out(true, reponse);}}
總結:ok,以上步驟就完成了remote的使用,非常簡便和爽快,但是在我沒有閱讀源碼之前來回的嘗試了很多次,都覺得不是很好用,看源碼還是很值得去做的。好了,上傳一個吧



聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.