簡體   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