2009-05-20 78 views
3

我正在尋找一種關於如何在模型視圖演示者體系結構中進行UI驗證的最佳實踐方法。模型 - 視圖 - 演示者:驗證UI

我需要驗證一些具有很多控件的表單。爲了方便用戶,我將所有的錯誤或警告存儲在一個日誌中的控件引用中,然後向用戶顯示,以便他可以立即跳到他必須修復的控件。這是在視圖部分完成的,這實際上是錯誤的,因爲驗證應該在演示者中進行以便交換視圖。

對於我在演示者中進行驗證的問題是,它不僅僅檢查提供的值是否錯誤,還需要檢查是否已選中單選按鈕以啓用文本框,然後必須包含一些文本例如。

我正在考慮在演示者中使用BindingSource,因爲它反映了UI的變化,並且對演示者可見。但我不確定這是否是正確的路線(我認爲這有點難看)?

順便說一下:在我寫入數據庫之前,驗證不僅需要進行,它已經發生,而用戶正在工作的形式。

任何人都可以想到一個這樣做的好方法嗎?

回答

2

我們終於找到了解決方案。 它將按照我的預期完成,使用由不同驗證器類處理的演示器中的DataSet(每個我們的「頁面」都有一個)。最困難的部分是,當控件相互依賴時(但最終它只是檢查數據集中是否設置了值)。目前無法跳轉到控件來修復錯誤,但稍後將通過將控件的名稱傳遞給LogEntries來添加該控件,然後視圖可以確定該控件的位置。

相關問題