我尝试在表单/提交上下文之外使用 HTML5 客户端验证,但无法看到如何显示验证错误气泡。考虑以下:
<input type="text" id="input" pattern="[0-9]" required oninvalid="alert('yes, invalid')">
<button onclick="alert(document.getElementById('input').checkValidity())">Check</button>
一切都按预期工作,从 checkValidity 返回正确的值,并且发送和显示无效事件,但如何以编程方式显示验证错误气泡?
如果你谈论的是这个泡沫:
请参阅 ScottR 对此答案的评论。
...然后我的测试表明Firefox和Chrome在调用时都会显示它checkValidity
在 (testcase http://jsbin.com/ihufaw/3/edit), but 不在独立元素上 (testcase http://jsbin.com/ihufaw/1/edit).罢工>
似乎没有一种机制可以在没有表单时显示它,并且规范甚至没有说 http://www.whatwg.org/specs/web-apps/current-work/multipage/association-of-controls-and-forms.html#interactively-validate-the-constraints它必须根据程序化显示checkValidity
调用(在元素或表单上)——仅在提交表单时。
因此,现在将您的元素包装在表单中,即使您实际上不会提交它。
更好的是,使用您自己的验证 UI,这将使您免受此未指定区域中浏览器的未来更改的影响。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)