Asp.net mvc 在Blazor的ValidationMessage中显示html或多行消息?

Asp.net mvc 在Blazor的ValidationMessage中显示html或多行消息?,asp.net-mvc,blazor,blazor-client-side,asp.net-blazor,Asp.net Mvc,Blazor,Blazor Client Side,Asp.net Blazor,问题 显示密码的错误消息列表,如下所示: 必须至少包含一个大写字母 必须至少包含一个小写字母 必须至少包含一个数字 必须至少包含一个符号 长度必须为6个字符 在MVC中 我们可以通过以下代码实现这一点: @Html.Raw(HttpUtility.HtmlDecode(Html.ValidationMessageFor(m => m.Email).ToHtmlString())) 我们怎么能在Blazor做同样的事情?请告诉我是否需要更多的东西来支持这个问题。我也需要这样做来进行自定义验

问题

显示密码的错误消息列表,如下所示:

  • 必须至少包含一个大写字母
  • 必须至少包含一个小写字母
  • 必须至少包含一个数字
  • 必须至少包含一个符号
  • 长度必须为6个字符
  • 在MVC中

    我们可以通过以下代码实现这一点:

    @Html.Raw(HttpUtility.HtmlDecode(Html.ValidationMessageFor(m => m.Email).ToHtmlString()))
    

    我们怎么能在Blazor做同样的事情?请告诉我是否需要更多的东西来支持这个问题。

    我也需要这样做来进行自定义验证,但这看起来像
    ValidationMessage
    ,正如您在评论中所说的那样

    如何在Blazor中的验证消息中使用相同的消息。仅供参考-Blazor中的验证消息看起来像signUpModel.Email)“>

    实现这一点的方法就是执行与
    ValidationMessage
    相同的操作,并更改其呈现方式

    您可以从中复制代码并进行一些更改

    • 首先,如果您更改类的名称,例如
      CustomValidationMessage
      或任何您想要的内容,这将是一件好事
    • 您将看到方法
      BuildRenderTree
      ,该方法使用验证消息构建html
    • 如果您知道如何使用
      BuildRenderTree
      ,您可以编辑它,但我建议您删除该方法并创建一个
      .razor
      文件来呈现消息
    • 执行与该方法相同的逻辑(对于每条消息),在该方法中,您可以呈现任何您想要的内容(例如,使用
      MarkupString(message)
    .剃刀

    foreach (var message in CurrentEditContext.GetValidationMessages(_fieldIdentifier))
    {
        @* use message the way you want*@
    }
    

    @Henkholtman如何将其与Blazor中的验证消息一起使用。仅供参考-Blazor中的验证消息看起来是
    正常。那么,如何将
    标记字符串(htmlText)一起使用呢
    。谢谢:)也许可以使用您自己的编辑上下文、FieldChanged事件和反射从其无效的模型中获取消息,这样您就可以将其放入标记字符串中?还没有找到解决方法