You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何让表单验证错误Tooltip保持显示直至用户修正输入错误?

实现表单验证提示框持续显示直至用户输入

要解决默认提示框自动消失的问题,我们可以通过监听字段的invalid、blur和input事件,配合HTML5表单验证API来控制提示框的显示逻辑:

<form action="" method="get">
    <input type="text" name="name" required 
           oninvalid="this.setCustomValidity('Value not filled in!')"
           onblur="if (!this.validity.valid) this.reportValidity()"
           oninput="this.setCustomValidity('')" />
    <input type="submit" value="Submit!" />
</form>

逻辑说明:

  • oninvalid事件:表单提交触发验证失败时,设置自定义提示文本,标记字段为无效状态。
  • onblur事件:当字段失去焦点但仍未填写内容(无效状态),调用reportValidity()强制浏览器重新显示提示框,阻止默认的自动消失行为。
  • oninput事件:用户开始输入内容时,清空自定义提示文本,让字段恢复有效状态,提示框自动消失。

如果需要给错误字段添加视觉样式,可在oninvalid中加入this.classList.add('has-error'),oninput中加入this.classList.remove('has-error'),再配合CSS实现对应样式。

内容的提问来源于stack exchange,提问作者Polikarpos Goldshtein

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.21 22:31:02