2009-04-23 67 views
1

昨天我聽了this herding code podcast on MVC, MVP, MVVM的消息,並且感覺到將整個ViewModel對象發送給一個驗證器,該驗證器除了驗證其中的所有字段並將其發回外。如何驗證MVVM模式中ViewModel中的數據?

  • 有沒有人實現過這種類型的驗證模式?
  • 它在技術上看起來如何?

我想通過還具有模型數據,字段元數據之後接收整個視圖模型一個「FormPreparer」延伸這一想法的,和其它用戶和上下文數據被饋送到它,那麼這種「FormPreparer」準備所有的窗體上的字段將在視圖上,例如由的DatePicker表示

  • 日期字段控制
  • 電子郵件字段由與電子郵件驗證文本框表示
  • 和例如客戶字段客戶

元數據定義了每個字段的這些東西的下拉列表:

  • 類型(文本,日期,日期/時間,持續時間,電子郵件,網址,客戶)
  • 控制(文本框,多行TextBox,下拉菜單,單選按鈕,複選框,clickbutton)
  • 標籤(如 「名」)
  • 幫助文件(例如: 「這是你的表4A上找到號碼」)
  • 示例(「#123ABCD」)
  • 顯示選項卡(例如,對於由多個翼片區域的)
  • 顯示區域(例如,對於該組字段成區域的形式)
  • 顯示順序(例如,該組中的字段的順序)
  • 值(例如「吉姆的形式「)
  • 自動提示數據(名稱的數組,其需要在用戶開始鍵入)
  • 場狀態(只讀,編輯,隱藏)

的要被顯示‘FormPreparer’將結合這一切信息,然後將數據呈現給View whi CH:

  • 示出了在適當的控制的所有形式的數據(日期爲datepickers,在多行文本框的說明中,等等)
  • 通吃驗證的護理自動
  • 將當前用戶被允許只顯示字段看,只會讓他編輯的他被允許編輯數據

有沒有人編程沿着這些路線一個WPF/MVVM應用程序?

回答

0

不,我正在開發一個WPF/MVVM項目,但我們還沒有采用這種通用方法進行驗證。我們在每個視圖模型中創建一個自定義驗證方法,並使用每個視圖模型特有的驗證邏輯。

可以用於所有視圖模型的通用驗證例程會很好。