我经常需要有模态对话框来编辑属性或应用程序配置设置,但我对如何验证这些并向用户展示验证结果从来都不是很满意。
选择和工具通常是:-
设计 UI 以便进行无效选择 根本不可能 - 即使用 “屏蔽编辑”,范围限制 旋转编辑,
try catch 错误 找到 - 立即对话或 用户无效时的反馈 在某处输入的值(尽管, 因为这可能是由于 不完整的条目,这可以是 视觉上分散注意力)
检测更改的错误 控制焦点
确定时验证整个对话框 被按下,并显示消息 显示错误的框。
No.4 通常是最简单和最快的编码,但我从来没有真正满意过它。
您发现了哪些好的技术来处理这个问题?
虽然这个问题相当笼统,但理想的答案很容易在 Delphi for Win32 中实现...
最佳答案
与一切一样,这取决于。 :) 我试着从用户的角度来看其中的一些。
第 1 点。我个人不喜欢 mask 编辑,但是旋转编辑的范围限制、预填充的组合框等对于一般完整性检查很有意义,它使用户的生活更轻松。
我认为第 2 项可能会使用户在使用对话框时感到痛苦。他们可能不会按照您认为的顺序输入信息,或者可能会留下不完整的字段并在最后返回。
为了验证,我使用了 3 和 4 的组合。
根据字段(例如所需值),我可能会在每次按键时对其进行验证,如果无效则禁用 OK 按钮。您可以改变错误字段的颜色或使用其他类型的可见验证器控件。这对用户来说是显而易见的,并且不会打断他们的“流程”。
当用户点击“确定”时,不容易即时检查的事情(例如,对服务器的调用)将完成一次。
关于delphi - 验证模式对话框字段的最佳方式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1453679/