2009-05-20 75 views
3

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

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

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

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

顺便说一下:在我写入数据库之前,验证不仅需要进行,它已经发生,而用户正在工作的形式。

任何人都可以想到一个这样做的好方法吗?

回答

2

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

相关问题