IDataErrorInfo最佳实践

时间:2013-05-14 13:34:48

标签: wpf mvvm .net-3.5 idataerrorinfo

我正在使用MVVM

在WPF项目中工作

使用IDataErrorInfo验证错误的最佳做法是什么?在我的Model或ViewModel中?

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

P.S。我正在使用.NET 3.5。

2 个答案:

答案 0 :(得分:5)

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

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

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

这一切都归结为您的应用程序和要求的需求。就个人而言,我把它们放在我的ViewModel中,因为它快速而简单。但是对于最佳实践,我建议您通读链接。

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

How to Use Model Validation Rules in WPF ViewModel

OR

Business Layer Validation Sample

希望这有帮助!

答案 1 :(得分:0)

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