我正在尝试在表单/提交上下文之外使用 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 对此答案的评论。
...然后我的测试表明,当调用 checkValidity
包裹在 中的元素时,Firefox 和 Chrome 都会显示它(testcase ),但不在独立元素上 ( testcase )。
没有表格时似乎没有显示它的机制,规范doesn't even say它必须显示以响应程序化的 checkValidity
调用(在元素或表单上)——仅在提交表单时显示。
所以现在,将您的元素包装在一个表单中,即使您实际上不会提交它也是如此。
更好的是,使用您自己的验证 UI,这将使您免受 future 浏览器在这个未指定区域中的更改的影响。
关于html - 如何以编程方式显示 HTML5 客户端验证错误气泡?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8284178/