繁体   English   中英

是否可以结合使用 ValidationRules 和 INotifyDataErrorInfo 进行 wpf 验证?

[英]Is is possible to use a combination of ValidationRules and INotifyDataErrorInfo for wpf validation?

在 WPF 中,有 3 种方法可以进行验证:

  • 验证规则
  • IDataErrorInfo
  • INotifyDataErrorInfo

是否可以同时使用这些的组合? 根据我的需要,我想使用 INotifyDataErrorInfo 的灵活性来验证新规则,但不想干扰我要验证的同一对象的现有 ValidationRules。

1. 混合不同的错误来源

是的,您可以混合使用您引用的三种验证:

  • ValidationRules适用于 GUI(表面)验证
  • IDataErrorInfo在视图模型/业务对象上实现。 更适合面向业务的验证
  • INotifyDataErrorInfo也在视图模型/业务对象上实现。 它增加了在给定字段上出现多个错误的可能性,并增加了异步验证(即服务器或线程可能需要时间来回答验证)。

最后一个错误源的实现时间确实更长

2. 考虑错误

最困难的是在数据无效时要防止窗口被关闭时考虑不同的错误来源。

必须在 GUI 绑定中查找 ValidationRules 错误,因为无效数据无法到达业务对象/ViewModel。

IDataErrorInfoINotifiDataErrorInfo可以在 ViewModel 层中查看。

问候

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM