我注意到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