在非常常见的情况下,您有一个文本框,以及某种限制该文本框上有效条目的验证规则.失败验证应如何影响文本框的内容,尤其是在最初在无效之前输入有效值的情况下.
示例:想象一个表单,其中可以输入0到50之间的数字.用户输入40.一切都很好.但随后用户进入并将其更改为59.
显然恕我直言,申请应该尽快通知他他的错误.但是如何处理这些价值观呢?我认为应该有一种方法可以回到40作为一种有效状态的简单方法,但我不确定何时以及如何恢复它:焦点丢失了?只有按下特殊按键/按钮?
你怎么看?
编辑:我完全同意前两个答案:自动更改输入是一个坏主意.然而,我想保持"最后有效"值可用......也许一个干净的UnDo功能可以解决问题?
我采用像这样的字段验证的方法非常简单:
你不应该丢弃用户输入
如果用户输入的内容无效,请将其标记为 - 但不要更改该值.
你背后的理由很简单 - 一致性.
例如,考虑用于输入日期范围的一对字段,其中"有效"表示开始日期在结束日期之前.
现在,用户想要进入一个全新的范围.
如果您的系统立即丢弃无效条目,则会强制您的用户采取不同的行为.要输入较早的日期范围,必须先输入开始日期; 要输入较晚的日期范围,必须先输入最终日期.不友好.
相反,尊重用户输入 - 当输入开始日期时,将其自由标记为无效,但保留该值.然后,当输入最终日期时,两个字段现在都会验证.
这也是动态显示验证的动机(因为值已更改),但不限制用户在字段之间的移动.