在 Blazor 的 ValidationMessage 中显示 html 或多行消息?
Display html or multiline message in ValidationMessage in Blazor?
问题
显示密码错误信息列表如下:
- 必须至少包含一个大写字母。
- 必须至少包含一个小写字母。
- 必须至少包含一个数字。
- 必须至少包含一个符号。
- 长度必须为 6 个字符。
在 MVC 中
我们可以通过下面的代码实现:
@Html.Raw(HttpUtility.HtmlDecode(Html.ValidationMessageFor(m => m.Email).ToHtmlString()))
我们如何在 Blazor 中做同样的事情?如果需要更多的东西来支持这个问题,请告诉我。
我还需要执行此操作以进行自定义验证,但这看起来像 ValidationMessage
并且正如您在评论中所说
How to use the same with the validation message in the Blazor. FYI - validation message in Blazor looks as signUpModel.Email)">
执行此操作的方法与 ValidationMessage
相同,并更改其呈现方式
您只需复制 repo 中的代码并进行一些更改即可。
- 首先,如果您将 class 的名称更改为
CustomValidationMessage
之类的名称或您想要的任何名称,那将会很好。
- 您将看到使用验证消息构建 html 的方法
BuildRenderTree
。
- 如果您知道如何使用
BuildRenderTree
,您可以编辑它,但我建议您删除该方法并创建一个 .razor
文件来呈现消息。
- 执行与该方法相同的逻辑(foreach 消息),在内部您可以呈现任何您想要的内容(例如使用
MarkupString(message)
)。
.剃刀
foreach (var message in CurrentEditContext.GetValidationMessages(_fieldIdentifier))
{
@* use message the way you want*@
}
问题
显示密码错误信息列表如下:
- 必须至少包含一个大写字母。
- 必须至少包含一个小写字母。
- 必须至少包含一个数字。
- 必须至少包含一个符号。
- 长度必须为 6 个字符。
在 MVC 中
我们可以通过下面的代码实现:
@Html.Raw(HttpUtility.HtmlDecode(Html.ValidationMessageFor(m => m.Email).ToHtmlString()))
我们如何在 Blazor 中做同样的事情?如果需要更多的东西来支持这个问题,请告诉我。
我还需要执行此操作以进行自定义验证,但这看起来像 ValidationMessage
并且正如您在评论中所说
How to use the same with the validation message in the Blazor. FYI - validation message in Blazor looks as signUpModel.Email)">
执行此操作的方法与 ValidationMessage
相同,并更改其呈现方式
您只需复制 repo 中的代码并进行一些更改即可。
- 首先,如果您将 class 的名称更改为
CustomValidationMessage
之类的名称或您想要的任何名称,那将会很好。 - 您将看到使用验证消息构建 html 的方法
BuildRenderTree
。 - 如果您知道如何使用
BuildRenderTree
,您可以编辑它,但我建议您删除该方法并创建一个.razor
文件来呈现消息。 - 执行与该方法相同的逻辑(foreach 消息),在内部您可以呈现任何您想要的内容(例如使用
MarkupString(message)
)。
.剃刀
foreach (var message in CurrentEditContext.GetValidationMessages(_fieldIdentifier))
{
@* use message the way you want*@
}