在之前的項目中,我要對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
---恢復內容結束---