gpt4 book ai didi

wpf - 如何在 ViewModel 之外进行 WPF MVVM 验证?

转载 作者:行者123 更新时间:2023-12-03 10:44:09 25 4
gpt4 key购买 nike

我是 WFP 的新手,我正在做一个 MVVM 项目并试图弄清楚……我阅读了很多关于验证的内容,但没有找到我想要的。
我不想将验证逻辑放在 ViewModel 或 View 中。我想将验证保留在业务逻辑层中,并且只有在那里,这是一个单独的项目,大概可以与任何数据源或 UI 一起使用,因此我不能将 WPF 特定的东西放入其中。
我想使用 FluentValidation 但我不知道如何在我的 ViewModel 中链接它。
假设我有一个包含一个字段的输入表单,Save 按钮正在从业务逻辑请求 Save 方法,如果字段为空并带有相应的消息(“请输入一些内容”),业务逻辑会抛出 ValidationException。
如何将其链接到 View/ViewModel 以将其反射(reflect)给用户?

任何帮助表示赞赏,对不起,如果问题很愚蠢,这个 WPF 很难:)

编辑,回复 John Odom:我已经到了在我的 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 部分中的信息与我的 View 相关联,并向用户显示错误信息

最佳答案

您可以在 UI 上有一个单独的标签,最初隐藏它。在 View 模型中绑定(bind)可见和内容。
每当出现异常时,使标签可见并在 Viewmodel 中设置其内容。

关于wpf - 如何在 ViewModel 之外进行 WPF MVVM 验证?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36071925/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com