Использование ValidationMessage с пользовательским классом CSS - PullRequest
2 голосов
/ 22 апреля 2020

Я использую ValidationMessage в компоненте бритвы для отображения сообщения проверки, например:

<ValidationMessage For="@(() => ViewModel.CompanyNumber)" />

Это генерирует этот HTML -код:

<div class="validation-message">The company number field is required.</div>

Можно ли изменить CSS -класс? Я хочу использовать что-то еще, чем validation-message. Добавление class="myclass" игнорируется контроллером. Я также пытался с @attributes безуспешно.

Ответы [ 2 ]

0 голосов
/ 22 апреля 2020

Это невозможно в ASP. NET Core 3.1. Надеюсь, он будет включен в следующую основную версию, см. Этот запрос функции:

https://github.com/dotnet/aspnetcore/issues/8695

0 голосов
/ 22 апреля 2020

Вы можете изменить класс validation-message внутри css файла app.css внутри wwwroot. или site.css в предыдущих просмотрах.

.validation-message {
    color: red;
}

Класс установлен в 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();
    }
}

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

...