我是WFP的新手,我正在做一个MVVM项目并试图解决问题......我读了很多关于验证但没有找到我想要的东西。 我不想将验证逻辑放在ViewModel或View中。我希望将验证保留在业务逻辑层中,并且只在那里,这是一个单独的项目,可能可以与任何数据源或UI一起使用,因此我不能在其中放置WPF特定的东西。 我想使用FluentValidation,但我不知道如何在我的ViewModel中链接它。 假设我有一个包含一个字段的条目表单,Save按钮从业务逻辑请求Save方法,如果该字段为空且带有相应的消息,业务逻辑将抛出ValidationException("请键入内容& #34)。 如何将其链接到View / ViewModel以将其反映给用户?
感谢任何帮助,对不起,如果问题是愚蠢的,这个WPF很难:)
编辑,回复约翰奥多姆:我已经到了我的ViewModel中我有Save命令的地方 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部分中的信息与我的视图相关联,并向用户显示错误信息
答案 0 :(得分:0)
您可以在UI上拥有单独的标签,最初将其隐藏。绑定在视图模型中是可见的和内容。 只要有异常,就可以看到Label并在Viewmodel中设置其内容。