bootstrapvalidator的簡單校驗【必填校驗、長度校驗、是否存在校驗(remote)】


需求:輸入框的"供應商編碼"不能為空而且不能與數據庫重復,供應商名稱不能為空。

解決:

1.input如下

1 <input id="ssupplierNo" name="ssupplierNo" type="text"
2                    class="form-control input-sm"
3                    value="${supplierinfo.ssupplierNo}" 供應商編碼 " />

2.js函數

 1  jQuery(function() {    
 2  $('#Form').bootstrapValidator({
 3             feedbackIcons : {
 4                 valid : 'glyphicon glyphicon-ok',
 5                 invalid : 'glyphicon glyphicon-remove',
 6                 validating : 'glyphicon glyphicon-refresh'
 7             }
 8             ,
 9             fields : {
10                 ssupplierNo : {
11                     validators : {
12                         notEmpty : {
13                             message : '供應商編碼不能為空'
14                         },
15                         stringLength : {
16                             max : 50,
17                             message : '不超過50個字符'
18                         }
19                         ,
20                         remote:{
21                             message:'供應商編碼已經存在,請重新輸入',
22                             url:'<%=request.getContextPath()%>/apps/supplierInfo.do?method=checkSupplierNo',
23                             delay:4000    /*使用延時異步調用服務端方法,4000即文本輸入框靜止4秒后調用服務端方法*/
24                         }
25                     }
26                 },
27             ssupplierFullName : {
28                     validators : {
29                         notEmpty : {
30                             message : '供應商名稱不能為空'
31                         },
32                         stringLength : {
33                             max : 50,
34                             message : '不超過50個字符'
35                         }
36                     }
37                 },
38             }
39         });
40 }

3.供應商編碼唯一性校驗控制層代碼如下

 1 /* 校驗輸入框的值是否已經存在 */
 2         @RequestMapping(params = "method=checkSupplierNo")
 3         public 
 4         @ResponseBody
 5         JSONObject  checkSupplierNo(HttpServletRequest request, ModelMap modelMap) {
 6             String supplierNo = request.getParameter("ssupplierNo");//獲取輸入框的值
 7             JSONObject result = new JSONObject();
 8              try{
 9                  SupplierInfoQuery query = new SupplierInfoQuery();
10                  query.setSsupplierNo(supplierNo);
11                  List<SupplierInfo> supplierInfo_list =supplierInfoService.getSupplierInfosByQueryCriteria(0, Integer.MAX_VALUE, query);
12                  if(supplierInfo_list.size()>0){//如果能查到值說明重復,返回false
13                      result.put("valid", false);
14                  }else{
15                      result.put("valid", true);
16                  }
17              }
18              catch (Exception ex) {
19                 ex.printStackTrace();
20                 logger.error(ex);
21             }
22              return result;
23         }

注意事項

這里需要說明的是bootstrap的remote驗證器需要的返回結果一定是json格式的數據 :

{"valid":false} //表示不合法,驗證不通過
{"valid":true} //表示合法,驗證通過

如果返回任何其他的值,頁面驗證將獲取不到驗證結果導致無法驗證。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM