Как использовать SharedResource для аннотаций данных в ASP.NET Core MVC 2.2? - PullRequest
0 голосов
/ 06 марта 2019

У меня есть проект с использованием ASP.NET Core MVC 2.2.

Для локализации я использовал SharedResource.В представлениях и контроллерах это работает нормально, но не для аннотаций данных в моделях.

Моя модель:

public class MyProfileModel : BaseModel
{
    [Required(ErrorMessage = "HomeFirstNameRequired")]
    [StringLengthWithErrorMessage(20)]
    [Display(Name = "HomeFirstName")]
    public string FirstName { get; set; }
}

Мой запуск:

public void ConfigureServices(IServiceCollection services)
{
    ...

    services.AddLocalization();

    services.AddMvc()
        .AddDataAnnotationsLocalization(options =>
            {
                options.DataAnnotationLocalizerProvider = (type, factory) => factory.Create(typeof(SharedResources));
            })
        .AddViewLocalization(LanguageViewLocationExpanderFormat.Suffix)
        .AddDataAnnotationsLocalization()
        .SetCompatibilityVersion(CompatibilityVersion.Version_2_2);

    ...
}

public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
    app.UseRequestLocalization(new RequestLocalizationOptions
                               {
                                   DefaultRequestCulture = new RequestCulture(DefaultCultureInfo),
                                   SupportedCultures = SupportedCultures,
                                   SupportedUICultures = SupportedCultures
                               });

    ...
}

Я прочитал, чтоЗначение ErrorMessage может использовать локализацию, но это не работает.Также мне это нужно для отображаемого имени ..

Кто-нибудь идея?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...