我注意到MVC 5(C#)一個奇怪的行爲與表單驗證。 這是我的代碼檢查KEYUP錯誤:MVC 5失去驗證
var $validatr = $('form').data('validator');
var settngs = $validatr.settings;
settngs.onkeyup = function (element, eventType) {
if (!$validatr.element(element)) {
$(this.currentForm).triggerHandler("invalid-form", [this]);
}
};
settngs.onfocusout = false;
我注意到,這個代碼工作的一些形式,對其他沒有。我試圖得到驗證也是這樣的:
var $validatr = $('form').validate();
但它仍然無法正常工作。 重要:然後我注意到,代碼工作只有在用戶未登錄的登記表。 (我也可以在用戶登錄時訪問註冊表單)。當用戶登錄我得到這個錯誤:
TypeError: $validatr is undefined
在這種情況下,錯誤的輸入形式彈出,只有當要素的out_of_focus。
UPDATE:
如果我刪除這個cookie:AspNet.ApplicationCookie並刷新用戶退出頁面和驗證的onkeyup工作。到底是怎麼回事?
1.確保你需要加載JS文件。 2.請確保您有'form'元素在DOM –
是所有的JS文件的加載和形式是DOM。 – DJack