4

我正在使用MVVM.

使用 验证错误的最佳做法是什么IDataErrorInfo?在我的模型或视图模型中?

用于实现验证的最佳模式是什么?

PS我正在使用.NET3.5。

4

2 回答 2

5

我认为没有正确的方法或错误的方法。这完全取决于您的应用程序,以及您是否使用不同的模式或体系结构或在 WPF 应用程序中是否有特定需求。

如果您使用不同的分层架构,您可以将验证放在应用程序的业务层中。如果是这种情况,请使用此链接

在我的应用程序中,我喜欢将验证放在视图模型中。显然,在某些情况下,这是一个坏主意,例如;如果您的视图模型中有 FirstName 属性,这意味着您仅限制 GUI 来验证 FirstName 属性,但如果有人从其他地方设置它怎么办。

这一切都取决于您的应用程序的需求和要求。就我个人而言,我将它们放在我的 ViewModel 中,因为它既快速又简单。但是为了获得最佳实践,我建议您通读该链接。

我还建议您阅读以下链接,以便更好地理解;

如何在 WPF ViewModel 中使用模型验证规则

或者

业务层验证示例

希望这可以帮助!

于 2013-05-14T14:05:59.393 回答
0

如果将模型绑定到视图,最好使用 Data Annotations 和Validator类。如果您要绑定到视图模型的属性,则使用 IDataErrorInfo 进行验证。

于 2013-05-14T14:08:10.507 回答