2016-12-20 36 views
-1

我正在使用jQuery驗證我的表單。Jquery驗證中的警報提示問題

如果我沒有填寫任何內容,那麼錯誤消息會被合併並顯示在單個提示提示中。

問題出在整合警報之後,它一直說第一個現場警報,這對用戶來說肯定是令人討厭的。你能幫我避免這種情況嗎?

jQuery(".ContactForm").validate({ 
     ignore: ":hidden", 
     rules: { 
      Location: { 
       required: true 
      }, 
      Program: { 
       required: true 
      }, 
      firstname: { 
       required: true, 
      }, 
      lastname: { 
       required: true, 
      }, 
      zip: { 
       required: true, 
       checkZipsValue: true, 
       minlength: 5 
      }, 
      dayphone: { 
       required: true, 
       phoneUS: true, 
       checkPhoneValue: true 
      }, 
      email: { 
       required: true, 
       email: true, 
       validEmail:true 
      } 
     }, 
     messages: { 
      Location: "Please select a location.", 
      Program: "Please select a program.", 
      firstname: "Please enter your first name.", 
      lastname: "Please enter your last name.", 
      dayphone: "Please enter a valid phone number.", 
      zip: "Please enter a valid Zip code.", 
      email: "Please enter a valid email.", 
     }, 
     errorPlacement: function (error, element) { 
      //alert(error.text()); 

     }, 
     showErrors: function(errorMap, errorList) { 
     var error = ''; jQuery.each(errorList,function(i, a){error += a.message + "\n";}); if(error.length > 0){window.alert(error);} 
    }, 
}); 
+0

的事情是showErros打電話,每次每一個字段,以便它是更好,美聲明錯誤變量此驗證功能之外,併合並所有在該字符串後所有的字段都驗證只顯示與該警報所有錯誤。 –

+0

瀏覽器控制檯中的錯誤是什麼? –

+0

控制檯中沒有錯誤。 –

回答

0

下面的代碼是一個警報,以顯示所有消息,

請注意,chekphonevalue,validemail,checkzipsvalue是你額外的方法也有jQuery的驗證不關心插件所以不要忘了將它添加在驗證器中。

<form id="myform" action="#"> 

    <input type="text" name="Location"> 
    <input type="text" name="Program"> 
    <input type="text" name="firstname"> 
    <input type="text" name="lastname"> 
    <input type="text" name="zip"> 
    <input type="text" name="dayphone"> 
    <input type="text" name="email"> 

    <input type="submit" value="email"> 
</form> 
<script type="text/javascript"> 
var errors; 
jQuery("#myform").validate({ 
    onfocusout: false, 
    onkeyup: false, 
    onclick: false, 
    ignore: ":hidden", 
    rules: { 
     Location: { 
      required: true 
     }, 
     Program: { 
      required: true 
     }, 
     firstname: { 
      required: true, 
     }, 
     lastname: { 
      required: true, 
     }, 
     zip: { 
      required: true, 
      checkZipsValue: true, 
      minlength: 5 
     }, 
     dayphone: { 
      required: true, 
      phoneUS: true, 
      checkPhoneValue: true 
     }, 
     email: { 
      required: true, 
      email: true, 
     } 
    }, 
    messages: { 
     Location: "Please select a location.", 
     Program: "Please select a program.", 
     firstname: "Please enter your first name.", 
     lastname: "Please enter your last name.", 
     dayphone: "Please enter a valid phone number.", 
     zip: "Please enter a valid Zip code.", 
     email: "Please enter a valid email.", 
    }, 
    showErrors: function(errorMap, errorList) { 
     errors=""; 
     jQuery.each(errorList,function(key,item){ 
      errors+=item.message+"\n"; 
     }); 
     alert(errors); 
    }, 
}); 
</script>