使用Jquery Validate時校驗失敗,但提交成功的問題


  在之前的項目中,我要對html頁面進行校驗,就從網上查到有個很方便的工具--Jquery Vaildate,自身帶有校驗提示,也可以自己進行設置。

下面是我寫的代碼,由於項目中有關於手機號碼的校驗,所以需要額外的進行添加。

  接下來我對其中幾個比較重要的地方做一下解釋:

1.rules:是校驗規則,可以自己進行設置,如果沒有則自動默認為Jquery Validate默認提供的規則。

2.message:是提示信息,如果用戶輸入與規則不符,則會進行提示,提示信息可以自己設置也可以使用Jquery Validate默認提供的警示信息。

3.SubmitHandler:這是我的問題所在,因為Jquery Vaildate 默認的是from表單信息提交,而我在html里面使用的是onclick事件,進行ajax跨域提交,所以沒有進行提交校驗。

         這里我請教經理做的模擬表單提交,具體看代碼。

4.required:是非空提示,默認為true,需要在<input> 里面進行添加。

5.tips: 提示信息出現的位置是默認跟在文本框后面的,

6.提示信息的顏色可以在js自行進行設定

7.更加具體的應用可以參考網址:http://www.cnblogs.com/weiqt/articles/2013800.html

 1 // 手機號碼驗證
 2         jQuery.validator.addMethod("isMobile", function(value, element) {
 3             var length = value.length;
 4             var mobile = /^(13[0-9]{9})|(18[0-9]{9})|(14[0-9]{9})|(17[0-9]{9})|(15[0-9]{9})$/;
 5             return this.optional(element) || (length == 11 && mobile.test(value));
 6         }, "請正確填寫您的手機號碼");
 7         $().ready(function() {
 8             $("#change").validate({
 9                 debug : false,
10                 success : function(label) {
11                     //label.text('').addClass('valid');
12                     label.removeClass('label');
13                     label.addClass('glyphicon  glyphicon-ok').css('color', '#666').text('');
14 
15                 },
16                 onfocusout : function(element) {
17                     this.element(element);
18                 },
19                 rules : {
20                     email : {
21                         required : true,
22                         email : true
23                     },
24                     cellphone : {
25                         required : true,
26                         minlength : 11,
27                         // 自定義方法:校驗手機號在數據庫中是否存在
28                         // checkPhoneExist : true,
29                         isMobile : true
30                     },
31                     change_count : {
32                         required : true,
33                         digits : true
34                     },
35                     pcountry_tabs:{
36                         required : true
37                     },
38                     change_type : {
39                         required : true
40                     }
41                     
42                 },
43                 submitHandler : function(form) {
44 
45                     if($('#pcountry_tabs').val()=="點擊選擇要查詢的國家地區組織                                                                         ▼"){
46                         alert("請選擇國家");
47                         return false;
48                     }else if($('#change_type').val()=="0"){
49                         alert("請選擇變更類型");
50                         return false;
51                     }        
52                     $.ajax({
53                         url : app_url + '/api/savechange',
54                         dataType : 'jsonp',
55                         data : {
56                             "change_type" : $('#change_type').val(),
57                             "change_country" : $('#pcountry_tabs').val(),
58                             "change_count" : $('#change_count').val(),
59                             "email" : $('#email').val(),
60                             "cellphone" : $('#cellphone').val()
61                         },
62                         jsonp : 'callback',
63                         success : function(result) {
64                             alert(result.state);
65 
66                         }
67                     });
68                 },
69                 messages : {
70                     email : {
71                         required : "請輸入您的郵箱",
72                         email : "請輸入正確的郵箱"
73                     },
74                     cellphone : {
75                         required : "請輸入手機號",
76                         minlength : "手機號不正確",
77                         isMobile : "手機號不正確"
78                     },
79                     change_count : {
80                         required : "請輸入件數",
81                         digits : "請輸入數字"
82                     },
83                     pcountry_tabs:{
84                         required : "請選擇國家"
85                     },
86                     change_type : {
87                         required : "請選擇變更類型"
88                     }
89                 }
90             });
91         });
92         function doSubmit() {
93             $("#change").submit();
94         }

2016-07-2913:40:50

 

---恢復內容結束---


免責聲明!

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



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