在给用户一张表单之前,我们往往已经做了很多准备工作。我们仔细推敲标签文案,让问题本身尽量清楚;通过合适的输入控件和提示,引导用户怎么填写。即便如此,很多问题的答案依然不止一种可能,输入也有正确与错误之分。要想让用户少走弯路,就需要在填写过程中,适时地给出反馈,这就是即时验证的价值所在。
即时验证并不只是简单地弹出一条错误提示,它可以在三个层面上发挥作用
1. 是确认输入是否有效,让用户放心往下进行;
2. 是提供合理的答案建议,帮助用户更快填完;
3. 是对有明确限制的输入给出边界提示,避免用户在最后一步才发现超出范围。
这些反馈通常发生在输入开始时、输入进行中,以及用户结束当前字段填写之后。
当用户在表单里输入内容时,最常见的不安其实很朴素——我填的到底对不对。即时验证所做的第一件事,就是尽早回答这个问题。
最典型的例子,是用户名是否已被占用。许多系统要求用户名全局唯一,如果等到用户填完整张表单、点击提交之后才告诉他已有重名,不仅打击情绪,也浪费了时间。
更合理的做法,是在用户输入用户名并离开该字段时,立刻进行唯一性校验

这样,用户可以一边调整一边看到结果,而不是在流程的最后一刻才发现前面一步就已经出错。