Toolbelt.Blazor.LocalizedDataAnnotationsValidator
Toolbelt.Blazor.LocalizedDataAnnotationsValidator copied to clipboard
The Data Annotations Validator Component for Blazor to localize validation error messages, based on "Microsoft.Extensions.Localization".
Localized Data Annotations Validator Component for Blazor
Summary
This is the Data Annotations Validator Component for Blazor to localize the validation error messages, based on Microsoft.Extensions.Localization
.
Live Demo - https://demo-blazor-localized-data-annotations-validator.azurewebsites.net/
[NOTICE]
This component will works fine on "Server-side Blazor", not "Client-side Blazor" at this time.
The supporting of Microsoft.Extensions.Localization
based localization on Client-side Blazor is weak, therefore it will need some hacks. (see also: https://dev.to/5argon/comment/gdch)
Another way, "Blazor I18n Text" service will work fine on both Server-side Blazor and Client-side Blazor. However, it is not integrated Microsoft.Extensions.Localization
based localization at this time.
How to use?
Step 1. Setup "IStringLocalizer" infrastructure on your Blazor app
See also:
Of course, you should create resource files (.resx) for data annotation validation error messages, too.
Step 2. Install this package
Like this:
> dotnet add package Toolbelt.Blazor.LocalizedDataAnnotationsValidator
Step3. Replace the data annotations validator component
Rewrite the implementation of the validation on your app.
At first, open the "Toolbelt.Blazor.Forms" namespace, in the _Imports.razor
.
...
@using Toolbelt.Blazor.Forms
Next, replace the DataAnnotationsValidator
to LocalizedDataAnnotationsValidator
.
For example, in your .razor
file, rewrite it from:
<EditForm Model="..." ...>
<DataAnnotationsValidator />
...
to:
<EditForm Model="..." ...>
<!-- « Replace this component! -->
<LocalizedDataAnnotationsValidator />
...
That's all!
Sample Source Code
You can get the source code of Live Demo site from this repository.
- https://github.com/jsakamoto/Toolbelt.Blazor.LocalizedDataAnnotationsValidator/tree/master/SampleApp
Release Note
-
v.1.0.1
- Fix: concurrent access problem
- Change license from MPL-2.0 to Apache-2.0
- v.1.0.0. - Initial release.