在 ASP.NET Core 中使用 ValidationMessage 时,我可以添加或更改默认的 CSS 类吗?

PEK*_*PEK 6 asp.net-core blazor

我在剃刀组件中使用ValidationMessage来显示验证消息,如下所示:

<ValidationMessage For="@(() => ViewModel.CompanyNumber)" />
Run Code Online (Sandbox Code Playgroud)

这将生成此 HTML 代码:

<ValidationMessage For="@(() => ViewModel.CompanyNumber)" />
Run Code Online (Sandbox Code Playgroud)

是否可以更改 CSS 类?我想使用除validation-message. 添加class="myclass"被控制器忽略。我也试过@attributes没有成功。

Thi*_*rez 4

您可以更改validation-messagewwwroot.css 文件中的类app.css。或者site.css在早期的预览中。

.validation-message {
    color: red;
}
Run Code Online (Sandbox Code Playgroud)

班级设置在ValidationMessage.cs

protected override void BuildRenderTree(RenderTreeBuilder builder)
{
    foreach (var message in CurrentEditContext.GetValidationMessages(_fieldIdentifier))
    {
        builder.OpenElement(0, "div");
        builder.AddMultipleAttributes(1, AdditionalAttributes);
        builder.AddAttribute(2, "class", "validation-message");
        builder.AddContent(3, message);
        builder.CloseElement();
    }
}
Run Code Online (Sandbox Code Playgroud)

https://github.com/dotnet/aspnetcore/blob/master/src/Components/Web/src/Forms/ValidationMessage.cs