jQuery蒙面输入插件与验证插件冲突

前端之家收集整理的这篇文章主要介绍了jQuery蒙面输入插件与验证插件冲突前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
给定使用 Masked Input插件屏蔽的文本框,并通过Validation Plugin将其标记为必填字段,请考虑以下事项:

如果你将焦点放在一个被屏蔽的文本框中,然后保留它而不输入任何信息(或者不输入足够的信息来满足掩码),屏蔽输入插件删除所有内容,留下一个空文本框.

$("#phoneNumber").mask("(999) 999-9999? x999999");
$("#sampleForm").validate({
    rules: {
        phoneNumber: "required"
    }
});

验证插件似乎在屏蔽输入插件之前触发了模糊事件.这导致文本框传递验证(因为它确实包含文本),然后屏蔽输入插件启动并删除文本.一旦失去焦点,该字段应标记为无效.

我尝试过使用正则表达式验证器.它接近,但是再次,因为它在被屏蔽的输入插件清理了字段之前触发它不应该显示错误(尽管当用户尝试提交表单时错误消失).

我也试过这个:

$('input').bind('unmasked.maskedInput',function () { $(this).valid(); });

这有效,但它也会干扰验证器的初始行为:在按下提交按钮之前不会验证字段,然后在失去焦点时验证它们.

我已经设置了一个描述我遇到的问题的jsFiddle.

解决方法

Hiya工作演示 http://jsfiddle.net/2hdTn/

Cooleos所以如果我把它搞砸了蒙面插件就是删除输入因此混乱.

猜你在找的jQuery相关文章