2009-06-27 63 views
1

在我的公司中,我看到了几种方法来通知用户输入无效(我们的验证通常在用户单击某种形式的“提交”按钮时完成)。通知用户无效输入的常用做法是什么?

这里是我见过的最常用的方法:

  • 使用ErrorProvider类通信,其控件包含无效的输入。 (这是我目前的偏好,因为验证可以一次性完成,并且用户可以很容易地识别哪些控件包含无效的输入。

  • 验证输入的所有控件和编译消息列表向用户显示。验证例程完成后,立即向用户显示所有“无效输入”消息(通过MessageBox)。

  • 依次验证每个控件中的输入,并通过一个MessageBox发现一条无效数据后通知用户。 (我不是这种方法的粉丝,因为如果Control_A和Control_B都包含无效数据,用户将不得不尝试以两次提交数据看两者的确认信息。

什么您认为是有效/有效地通知用户无效输入的最佳方式吗?

回答

2

使用IDataError,您可以合并两种第一种方法,因为它们都允许您为单个控件提供错误,但也会为整个视图提供聚合错误消息。

在某些情况下,您可能有验证逻辑取决于若干不同输入值的组合,因此只有对每个控件进行绑定验证才会过于禁止。另一方面,在许多情况下,您仍然希望能够为每个控件提供错误消息。 IDataError允许你同时执行这两个操作。最常见的UI实现是在每个无效控件旁边都有一个可视提示(例如闪烁的图标)。

每当用户做一些无效的事情时,弹出一个模式对话框(消息框)是一种恼人用户的非常有效的方式 - 他们失去了上下文并且不得不花时间点击“确定”按钮来使对话框变为远。

1

我们检查用户按下确定时的所有控件。

我们用特殊颜色标记每个无效值并列出​​消息框中的所有错误。

1

如果技术允许,并且它不以任何方式伤害逻辑流或可用性,最好尽快通知用户有关错误。 (错误提供程序,Ajax,任何东西)

当用户必须多次提交表单以查明用户名是否被采用时,总是令人沮丧!

我已经做了一个关于这方面的可用性研究:大多数用户不喜欢离开页面,除非他们真的想要注册的另一端。

相关问题