[JQueryValidate] 讓Email驗證在最後送出表單時才驗證

  • 243
  • 0

JQuery Vaildate 的Email驗證會在keyup(textbox有修改)時觸發,

如果用Alert提示訊息就會造成警告視窗無止境的跳出......

--------------------------------------------------------------------------

這樣應該要如何修改呢?

Step 1: 將input的type設成email類型

<input name="tmpEmail" type="email" required />

Step 2: 在onkeyup設成false,就不會在每次變更內容的時候驗證資料了

$("#windowvalid").validate({
            rules: {
                tmpEmail: {
                    required: function () { // 驗證通過return false
                        if ($("#popupW input[name='tmpEmail']").val() == "") return true;
                        else return false;
                    }
                }
            },
            messages: {
                tmpEmail: {
                    required: "員編MAIL不得為空",
                    email: "員編MAIL格式錯誤"
                }
            },
            showErrors: function (errorMap, errorList) {
                console.log(errorList);
                var err = [];
                $.each(errorList, function (i, v) {
                    err.push(v.message);
                });
                if (err.length > 0)
                    alert(err.join("\n"));
            },
            onfocusout: false, // 在focus out的時候進行驗證
            onkeyup: false, // 在key up的時候進行驗證 <<-----主要是這段
            onclick: false
        });

 

Write By Charley Chang 


新手發文,若有錯誤還請指教,
歡迎留言或Mail✉給我

創用 CC 授權條款


本著作係採用創用 CC 姓名標示-非商業性-相同方式分享 4.0 國際 授權條款授權.