验证没有表单标签的Html 5输入?

时间:2015-02-10 07:41:46

标签: javascript jquery html5

是否可以在没有表单标签的情况下触发浏览器内置的html 5验证过程?如果我的输入控件无效而不使用表单标记,我想显示浏览器错误消息。我知道我可以使用checkValidity函数检查验证,但是如何告诉浏览器触发验证过程?

2 个答案:

答案 0 :(得分:2)

我同意CBroe,我不确定您是否可以在没有实际表单的情况下使用HTML5表单验证。我已找到此链接,它应该对您有用:< / p>

https://stackoverflow.com/a/7562439/4092442

您无法触发原生验证用户界面,但您可以轻松利用任意输入元素上的验证API:

$('input').blur(function(event) {
    event.target.checkValidity();
}).bind('invalid', function(event) {
    setTimeout(function() { $(event.target).focus();}, 50);
});

第一个事件在失去焦点时立即触发每个输入元素的checkValidity,如果元素无效,则相应的事件将被第二个事件处理程序触发并捕获。这个将焦点放回元素,但这可能非常烦人,我假设你有一个更好的解决方案来通知错误。这是我上面代码的一个工作示例。 如果这没有帮助,也许你可以发挥创意并创建一个看起来不像表单的表单。隐藏提交按钮等。这样您就可以利用该功能。

此外,也许可以提供更多解释,说明你想要完成的是什么。我个人发现帮助人们提供详细的解决方案。解决方案我经常从未考虑过。 :)希望这有帮助!

答案 1 :(得分:-2)

稍后,但这可能对新闻搜索有所帮助。

您可以使用

$(elem)[0].reportValidity()