设置输入的自定义有效性始终返回无效

时间:2016-08-19 07:04:45

标签: jquery validation

我正在setCustomValidity input元素上尝试使用当地语言。 最终input.checkValidity()' or 'input.validity.valid始终为false

代码:

$(document).ready(function() {

    $('#signup-form *').filter(':input:not([type=hidden])').each(function() {

        var $element = this;
        switch($element.id) {
            case 'email':
                $element.setCustomValidity('some msg1');
                break;
            case 'password':
                $element.setCustomValidity('some msg2');
                break;
            case 'confirmPassword':
                $element.setCustomValidity('some msg3');
                break;
            default:
                $element.setCustomValidity('some msg4');
                break;
        }
    });


    document.addEventListener('input', function(e){
            e.preventDefault();
            var $input = e.target;
            if (!$.nodeName(input, 'input')) return;
            var $element = $(input).parent();
            var $_e = $element.context.id;
            if($input.checkValidity()) {
                $element.removeClass('invalid');
                $element.parent().removeClass('invalid');
            } else {
                $element.addClass('invalid');
                $element.parent().removeClass('invalid');
            }
    }, false);

}

更新

发现此OS answer在我的问题中很有用......

0 个答案:

没有答案