跳到主要内容
界面图谱Interface Atlas
☰
EN
交互模式Forms / Feedback

表单校验

Form Validation

别名:表单校验输入报错实时校验表单验证输入错误提示红框报错

这是什么

在用户填写表单的过程中或提交时检查输入合法性,并把错误就地显示在对应字段旁边。 目标是让用户在离错误最近的位置、以最小的打断成本知道"哪里错了、怎么改",而不是提交后被一整个错误页打回。

交互实验室

试一试,再决定怎么用

正在加载实验室…

✓ 适用场景

  • 注册、登录、结账等字段正确性直接影响流程的表单
  • 字段有明确格式约束(邮箱、手机号、密码规则)
  • 表单较长,用户需要在提交前发现并修正问题

✕ 不适用场景

  • 用户还在输入中途就狂报错,造成干扰
  • 纯偏好类选项没有对错,无需校验
  • 错误信息含糊("输入无效"),用户无法据此修正

常见形式

失焦校验

On blur

离开字段时检查,干扰最小

实时校验

Live

输入即校验,反馈最快,注意时机

提交校验

On submit

点提交统一检查并定位首个错误

实现要点

:focusaria-invalidtransition-colors[role=alert]

错误态用 aria-invalid 与红色描边标记字段,错误文本挂 role="alert" 或 aria-live="polite"。 校验时机建议:失焦后开始实时校验,提交时统一兜底并聚焦首个错误字段。错误信息写清原因与改法, 不要只写"无效"。成功态可用绿色勾选即时确认。

表单校验Form Validation警告提示Alert轻提示Toast
打断程度低,错误就地显示,不打断输入流中,占据版面可见但不阻断低,短暂出现不打断操作
持续性高,错误停留在字段旁直到修正高,常驻直到处理或关闭低,几秒后自动消失
错误定位能力精确到具体字段和原因中,能说明原因与影响范围差,无法定位到具体字段

相关概念

输入框Input

用一条带边框的水平输入区收集单行文本,是表单的基本单元。 占位符提示期望格式,聚焦时高亮边框引导视线,校验失败时切换错误色 并附提示文案;可内嵌前后缀图标与清除按钮,受控管理输入值。

组件搭配使用
轻提示Toast

在视口角落短暂出现、自动消失的小消息条,用来告知操作结果(已保存、已复制、上传完成)。 不打断当前流程,通常附一个操作入口(撤销、查看),停留约 3~5 秒后淡出。

组件替代方案
警告提示Alert

嵌在页面流内、带状态色底色的横条,用于必须被看见的消息:错误、警告、重要通知。 它占据文档流而不是覆盖内容,通常常驻直到问题被处理或用户手动关闭。

组件替代方案
行内编辑Inline Editing

页面上的文本本身即可编辑:单击把文本原位变成输入框,Enter 或失焦确认,Esc 取消, 改完所见即所得。它解决的是"小改动也要跳转完整编辑页"的问题—— 把修改成本降到一次点击,特别适合单字段的快速修订场景。

交互模式相似概念
空状态Empty State

当列表或页面没有数据时,不留一片空白,而是用插图、一句说明和一个明确的下一步操作填充。 它解决的是"用户面对空白不知道发生了什么、也不知道该做什么"的问题—— 把空档变成引导起点:首次使用教用户开始,搜索无结果给出路。

交互模式相似概念

可搭配的风格

参考来源

Markdown 版(给 Agent) · JSON