我是WFP的新手,我正在做一個MVVM項目並試圖弄清楚事情......我讀了很多關於驗證的內容,但沒有找到我想要的內容。 我不想將驗證邏輯放在ViewModel或視圖中。我想要對業務邏輯層進行驗證,只有在那裏,這是一個單獨的項目,大概可以用於任何數據源或UI,所以我不能把WPF特定的東西放在它裏面。 我想使用FluentValidation,但我不知道如何鏈接它在我的ViewModel。 比方說,我有一個字段的條目表單,保存按鈕從業務邏輯請求Save方法,業務邏輯如果該字段爲空並顯示相應的消息(「請鍵入內容」),則會引發ValidationException。 如何將其鏈接到View/ViewModel以將其反映給用戶?何在ViewModel之外做WPF MVVM驗證?
任何幫助表示讚賞,對不起,如果這個問題是愚蠢的,這WPF是很難:)
編輯,回覆約翰·奧多姆:我得凡在我的ViewModel我有保存命令的點,這確實像
try
{
EditedItem= itemService.PersistItem(EditedItem);
}
catch (ValidationException ex)
{
foreach (var result in ex.Errors)
{
Console.WriteLine("Property name: " + result.PropertyName);
Console.WriteLine("Error: " + result.ErrorMessage);
Console.WriteLine("");
}
}
我想的信息與我的觀點的CATCH部分的錯誤信息鏈接,並顯示給用戶
你好,歡迎來到StackOverflow!你能告訴我們你迄今爲止的嘗試嗎? –
是否有特定的理由來做到這一點?因爲MVVM的目的是將這些問題與業務邏輯分開。 –
對我的驗證是業務邏輯的一部分。如果我想爲同一個系統創建一個Web UI,我將不得不復制驗證。除非我錯過了某些東西...... –