jquery验证执行特定规则

时间:2017-08-31 18:34:52

标签: jquery jquery-validate

我为输入字段定义了两个规则。 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 ['新密码'];

我想处理与按键上的元素相关联的规则之一。

感谢。

0 个答案:

没有答案