H1.04.3clear field error on correction设计研究

已报错字段应在修正时立即解除

别名: 错误解除 · 修正即清除 · live error clearing · error persistence

概念解释

字段一旦处于错误态,人开始改它,规则在当前值已经合法的那一拍就应当撤掉错误。立即解除指:不必再失焦、不必再点提交,红字、描边和「无效」状态随着合法值出现而消失。第一次把错误挂上去可以等完成信号;把错误取下来必须跟手。这条只谈错误态的退出时机,不谈第一次报错该不该在输入中触发,也不谈失焦是不是更稳的入口。顶部汇总清不清、焦点跳不跳,是另外的结构。

机制

错误文案是关于当前值的断言。值已经合法,断言还在,界面在说谎。人改错时盯着那句红字当进度条:写对了它还在,就无法确认「够了」,于是继续改、或者再点一次框外求一次复检。第二层是不对称时机:进入错误态需要完成信号,是为了避免中间态误报;退出错误态如果还等完成信号,等于把「你已经改对了」藏到下一次离开。这个不对称是刻意的:报错保守、解除激进。解除滞后还会训练人忽略红字——狼来过、值已经对、字还在,下次真错误也会被当成残留。跨字段错误(两次密码不一致)要在被改的那一侧一合法就重算,不能让「请与上一栏一致」在已经一致之后继续挂着。

怎么研究

先让字段进入错误态,再比较三种解除:逐键一合法就清、再次失焦才清、提交才清。

自变量:解除触发(input / blur / submit)、错误类型(本字段格式 / 与另一字段一致)、解除时是否伴随布局回缩。 因变量:从值合法到红字消失的延迟、多余的失焦或提交次数、在已合法后仍修改的字符数、事后是否相信「红字等于当前仍错」。

眼动上看人是否在合法之后还反复看错误文案,是解除滞后的直接证据。布局回缩会把「文案消失」和「字段跳动」混在一起,预留空间的条件要单独做。

边界

需要服务端才能判定的规则(邮箱是否已注册、验证码是否匹配)做不到击键级解除,应在值看起来合法时改成「检查中」,而不是继续显示上一次的失败。弱网下「检查中」超时,要把旧错误清掉并换成超时,不能让过期的「已被注册」赖着。被禁用或只读的字段谈不上修正,不应还挂着可改的错误。撤销整段输入回到空值时,必填错误可以等再次离开再出现,避免清空的瞬间闪一次「必填」。

怎么落地

  • 字段进入错误态之后,在 input(或等价的值变化)上重跑同一条规则;值一合法就撤掉文案、描边和无效状态,不要再等 blur。
  • 跨字段规则在任一端变化时重算;先改的那一端变合法,对端的「不一致」也要在同一拍消失。
  • 服务端规则在本地格式已合法时切到「检查中」,成功则解除,失败则换成新的当前原因;禁止保留上一次响应的句子。
  • 验证:把邮箱填成非法并失焦出错误,再补全成合法值,在仍未离开字段时看红字是否已消失。把两次密码改到一致,确认两侧错误同一拍撤掉。把网速打到缓慢,看过期的「已被占用」会不会在新一次检查返回前还挂着。

延伸

  • 同组H1.04.1 输入过程中校验会在未完成时报错 · H1.04.2 失焦后校验是较稳妥的时机
  • 相邻D1.01 操作即时反馈 · E6.03 内联校验提示 · H3.02 错误消息的三要素
  • 站内检索error clearing · inline validation · asymmetric validation

同组卡片

快捷操作

分享

分享当前页面

ios_share

https://hci.top/zh/handbook/H1.04.3