我为输入字段定义了两个规则。 onkeyup,我想执行其中一条规则。
我怎样才能在事件上实现元素的特定规则?
以下是我的尝试:
$(formIdSelector).validate({
errorClass: "validationError",
ignore: ":hidden",
focusInvalid: false,
focusCleanup: true,
onkeyup: function (element, event) {
debugger;
if (event.which === 9 && this.elementValue(element) === "") {
return;
} else if (element.name === 'new-password') {
var r = this.settings.rules['new-password'];
this.element(element);
}
},
highlight: function (element, errorClass, validClass) {
if ($(element).is("select")) {
$(element).parent().addClass(errorClass).removeClass(validClass);
} else {
$(element).addClass(errorClass).removeClass(validClass);
}
},
unhighlight: function (element, errorClass, validClass) {
if ($(element).is("select")) {
$(element).parent().removeClass(errorClass).addClass(validClass);
} else {
$(element).removeClass(errorClass).addClass(validClass);
}
},
errorPlacement: function(error, element) {
if (!element.hasClass('customValidated')) {
var type = element.attr('type');
if (type === 'number' || type === 'password' || type === 'text' || type === 'tel') {
element.attr('placeholder', element.attr('data-msg'));
element.data('invalidValue', element.val());
element.val('');
} else if (!element.is("select")) {
if (element.val() !== element.attr('data-msg')) {
element.data('invalidValue', element.val());
}
element.val(element.data("msg"));
} else {
if(!_.isEmpty(element.data("msg"))){
element.siblings('button').find('.filter-option').text(element.data("msg"));
}
}
}
}
});
从这行代码我可以得到元素上可用的规则:
this.settings.rules ['新密码'];
我想处理与按键上的元素相关联的规则之一。
感谢。