如何使用 ValidationSummary 组件在 Blazor (webassembly/wasm) 中显示服务器端验证错误?

时间:2021-04-07 18:58:11

标签: blazor-client-side

对于 Blazor 客户端(webassembly/wasm),是否有任何很好的示例说明如何显示在向服务器提交数据期间发生的服务器端错误?

我只想在 ValidationSummary 组件中显示它们。最好的方法是什么?是否有示例如何显示服务器端错误,就像客户端错误一样?

我已经在捕获任何错误并检查 ProblemDetails(或 ValidationProblemsDetails)。但我不知道如何在 ValidationSummary 中“显示”这些问题。

2 个答案:

答案 0 :(得分:0)

有一篇很棒的文章介绍了如何做这样的事情:https://blazor-university.com/forms/writing-custom-validation/

答案 1 :(得分:-1)

您只能获得服务器端 API 返回的内容。如果是您的 API,请返回一个包含必要信息的对象。

我使用这样的东西:

    public class DbTaskResult
    {
        public string Message { get; set; } = "New Object Message";
        public MessageType Type { get; set; } = MessageType.None;
        public bool IsOK { get; set; } = true;
        public int NewID { get; set; } = 0;

        public static DbTaskResult OK(int id = 0)
            => new DbTaskResult() { IsOK = true, Type = MessageType.Success, NewID = id };

        public static DbTaskResult NotOK(int id = 0)
            => new DbTaskResult() { IsOK = false, Type = MessageType.Danger};
    }

至于在验证摘要中显示,???这适用于验证单个字段。对上述对象进行编码以返回可以快速转换为 Alert 或 Toast 的信息。

我在下面显示了示例警报 - 根据警报类型隐藏/显示和更改颜色 - 稍微自定义的引导程序警报。

enter image description here