I'm working on a Blazor application using MudBlazor and need to localize validation messages (like "Required") globally across all components. Currently, I have to set the validation message for each input individually, which isn't maintainable. For example, I currently have to do this for each component:
<MudSelect T="int?" @bind-Value="_input.SaleTypeId"
RequiredError="@Localizer["Required"]"
Label="@Localizer["SelectSaleType"]"
Dense="true"
Required="true">
@foreach (var saleType in SaleTypes)
{
var id = (int?)saleType.Id;
<MudSelectItem Value="@id">@saleType.Title</MudSelectItem>
}
</MudSelect>
I'm working on a Blazor application using MudBlazor and need to localize validation messages (like "Required") globally across all components. Currently, I have to set the validation message for each input individually, which isn't maintainable. For example, I currently have to do this for each component:
<MudSelect T="int?" @bind-Value="_input.SaleTypeId"
RequiredError="@Localizer["Required"]"
Label="@Localizer["SelectSaleType"]"
Dense="true"
Required="true">
@foreach (var saleType in SaleTypes)
{
var id = (int?)saleType.Id;
<MudSelectItem Value="@id">@saleType.Title</MudSelectItem>
}
</MudSelect>
Share
Improve this question
edited yesterday
Zhi Lv
21.5k1 gold badge27 silver badges37 bronze badges
asked Feb 16 at 14:54
Alireza NooriAlireza Noori
15.3k30 gold badges102 silver badges190 bronze badges
1 Answer
Reset to default 3According to this:
https://mudblazor/features/localization#translation-keys
MudBlazor does not currently support the MudSelect_Required key.
I guess you could create a custom MudSelect. Something like:
public class MyCustomMudSelect<T> : MudSelect<T>
{
protected override void OnParametersSet()
{
if (Required)
RequiredError = _localizer["Required"];
}
}
Then use this custom MudSelect instead. It should automatically set the value on the base MudSelect.