我是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,我将不得不复制验证。除非我错过了某些东西...... –