3

我正在寻找关于如何在模型-视图-演示者架构中进行 UI 验证的最佳实践方法。

我需要验证一些带有很多控件的表单。为了方便用户,我将所有错误或警告与控件的引用一起存储在日志中,然后显示给用户,以便他可以立即跳转到他必须修复的控件。这是在视图部分完成的,这实际上是错误的,因为验证应该在演示者中进行以交换视图。

对我来说,在演示者中进行此验证的问题在于,它不仅要检查提供的值是否错误,还需要检查单选按钮是否已被选中以启用文本框,例如,该文本框必须包含一些文本。

我正在考虑在演示者中使用 BindingSource,因为它反映了 UI 更改并且对演示者可见。但我不确定这是否是正确的方法(我认为这有点难看)?

顺便说一句:验证不仅仅发生在我写入数据库之前;它已经在用户处理表单时发生。

谁能想到这样做的好方法?

4

1 回答 1

2

我们终于找到了解决办法。它将按照我的预期完成,使用由不同验证器类处理的演示器中的数据集(我们的每个“页面”一个)。最困难的部分是,当控件相互依赖时(但最终它只是检查是否在 DataSet 中设置了值)。目前无法跳转到控件来修复错误,但稍后将通过反射通过将控件的名称传递给 LogEntries 来添加该控件,然后视图可以确定该控件的位置。

于 2009-06-30T10:41:44.197 回答