验证HTML 5输入是否没有表单标签?

问题描述 投票:1回答:2

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

javascript jquery html5
2个回答
2
投票

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

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

您无法触发本机验证UI,但是您可以轻松地在任意输入元素上利用验证API:

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

第一个事件失去焦点后,会在每个输入元素上立即触发checkValidity,如果该元素无效,则第二个事件处理程序将触发并捕获相应的事件。这使焦点重新指向该元素,但这可能很烦人,我认为您有一个更好的通知错误的解决方案。这是上面我的代码的一个有效示例。如果这样做没有帮助,也许您可​​以发挥创造力并创建一个看起来不像表单的表单。隐藏提交按钮等。这样您就可以利用该功能。

[另外,也许要提供更多关于您要完成的目标的解释。我个人发现可以帮助人们提供详细的解决方案。解决方案我什至从未考虑过。 :)希望这会有所帮助!


0
投票

稍后,但这对新闻搜索有帮助。您可以使用$(elem)[0] .reportValidity()

© www.soinside.com 2019 - 2024. All rights reserved.