html5输入模式属性不在表单外工作?

jan*_*nce 6 html validation html5 user-input

这个小提琴按预期工作 - 当用户输入无效的国家代码时会显示警告.

没有form元素的另一个小提琴不起作用.输入的pattern属性似乎需要form验证.顺便说一下,我正在做一个没有表单的复杂页面,我想用我的输入字段验证`pattern.有没有办法做到这一点?

Bas*_*ter 9

这是因为验证是HTML5 表单验证的一部分(http://www.w3.org/TR/html5/forms.html#client-side-form-validation).当表单提交时,如果有任何错误,将触发验证,提交将被取消.

要手动触发它,请在元素上使用checkValidity()函数:

$('input').blur(function(evt) {
    evt.target.checkValidity();
}).bind('invalid', function(event) {
   alert('oops');
});
Run Code Online (Sandbox Code Playgroud)

http://jsfiddle.net/y66vH/3/