跳转到页面内容
圆点软件.YUANDIAN SOFTWARE

YUANDIAN / INSIGHTS & IDEAS

校验时机与错误提示:让用户少走返工路

校验的重点不是拦住错误,而是让用户以最小的代价改对。校验时机、错误措辞和提示位置这三件事,直接决定了用户要来回返工几次才能完成提交。

专注软件开发 · 连接业务与可能产品与设计
校验时机与错误提示:让用户少走返工路

校验放在什么时机

常见的做法有两个极端:边输入边报错,或者提交后统一报错。前者会在用户刚开始打字时就跳出红色提示,让人觉得被打断;后者等到提交才说,前面填的内容可能都要重来。在客户端做校验之前,先把规则放在服务端,前端只负责提前告知,规则本身只有一处。

比较稳的组合是字段失焦时校验,提交时再做一次整体校验。失焦校验针对格式和长度这类可以立刻判断的规则,输入过程中只做轻提示,比如已输入字符数或密码强度,不占用错误信息的位置。

涉及跨字段的规则,比如两次密码一致、结束时间晚于开始时间,要等到两个字段都填完再判断,避免用户刚填第一个就被判错。

错误提示写在哪、怎么写

错误信息贴在出问题的字段下方,不要全部堆到页面顶部。顶部的汇总可以保留,作用是告诉用户一共错了几处、并支持点击跳转,但具体原因必须离字段足够近。字段较多时,提交按钮附近再重复一次错误总数,用户滚动到底部时不会以为一切正常。

措辞要指向怎么改。手机号需要十一位数字,比格式错误有用;这个名称已被占用,请换一个,比校验失败有用。不要用感叹号和情绪化表达,错误状态已经让人烦躁,语气再收紧只会加剧。

如果同一个字段可能存在多种错误,按可能性从高到低给出当前最相关的一条即可,不必一次列出所有可能。提示过多时,用户反而不知道先改哪一个。

提交失败后的处理

提交失败时保留用户已经填写的全部内容,不要清空表单。清空是最容易让人直接离开的操作,特别是字段较多的长表单。

把焦点定位到第一个出错的字段,并在顶部给出还有几处待修改的数量。这两件事配合起来,用户改完第一处就能顺着往下走,不需要自己重新找。

服务端返回的错误要映射到具体字段。只返回一条系统异常,用户除了重试别无他法,而明确到哪个字段、什么原因,用户可以立刻处理,客服的压力也随之下降。

错误提示的语气也要保持一致。同一个系统里一处客气一处生硬,用户会觉得不是同一个人做的产品,信任感会打折扣。

该拦的不该拦的

校验的目的是帮用户把内容填对,不是展示系统的严格。可以放宽的地方尽量放宽:前后空格自动去掉,手机号里的横线和空格自动忽略,大小写不敏感的字段不区分大小写。

真正需要硬拦的是会造成数据错误或不可逆后果的输入,比如金额格式、重复提交、越权操作。这类校验要给出明确的下一步,而不是只丢一句不允许。

最后,把每一条错误提示当成界面文案来审。文案质量直接影响用户修复问题的速度,找一个没参与开发的人读一遍提示,看能否独立改对,是最省事的检查方式。

表单设计可用性

LET’S BUILD TOGETHER

让思考,成为下一步行动。

把业务场景与初步想法告诉我们,一起找到合适的实现方式。