【发布时间】:2013-05-14 13:34:47
【问题描述】:
我正在使用 MVVM 处理 WPF 项目。
使用IDataErrorInfo 验证错误的最佳做法是什么?在我的模型或视图模型中?
实现验证的最佳模式是什么?
附:我正在使用.NET 3.5。
【问题讨论】:
标签: wpf mvvm .net-3.5 idataerrorinfo
我正在使用 MVVM 处理 WPF 项目。
使用IDataErrorInfo 验证错误的最佳做法是什么?在我的模型或视图模型中?
实现验证的最佳模式是什么?
附:我正在使用.NET 3.5。
【问题讨论】:
标签: wpf mvvm .net-3.5 idataerrorinfo
我认为没有正确的方法或错误的方法。这完全取决于您的应用程序,以及您是否在 WPF 应用程序中使用不同的模式或架构,或者是否有特定需求。
如果您使用不同的分层架构,您可以将验证放在应用程序的业务层中。如果是这种情况,请使用This link。
在我的应用程序中,我喜欢将验证放在视图模型中。显然,在某些情况下,这是一个坏主意,例如;如果您的视图模型中有 FirstName 属性,这意味着您只是限制 GUI 来验证 FirstName 属性,但是如果有人从其他地方设置它怎么办。
这一切都取决于您的应用程序的需求和要求。就我个人而言,我将它们放在我的 ViewModel 中,因为它既快速又简单。但为了获得最佳实践,我建议您通读该链接。
我还建议您阅读以下链接以更好地理解;
How to Use Model Validation Rules in WPF ViewModel
或
Business Layer Validation Sample
希望这会有所帮助!
【讨论】:
如果您将模型绑定到视图,最好使用数据注释和Validator 类。如果您要绑定到视图模型的属性,请使用 IDataErrorInfo 进行验证。
【讨论】: