【问题标题】:Localize Required and other attribute values using separate project that contain localization resources(ASP.Net Core 3.1)使用包含本地化资源的单独项目本地化必需和其他属性值(ASP.Net Core 3.1)
【发布时间】:2021-09-11 00:07:16
【问题描述】:

我有一个 ASP.Net Core 3.1 Web 项目,其中包含一些具有属性数据注释属性的类。例如:

public class ResetPasswordViewModel
    {
        [Required(ErrorMessage = "{0} field is required")]
        [EmailAddress]
        [Display(Name = "Email")]
        public string Email { get; set; }
    }

我需要本地化必需属性错误消息,以便如果语言切换为非英语,它应该在 razor 页面上本地化,呈现如下:

<span asp-validation-for="Email" class="text-danger"></span>

本地化资源存储在名为 Localization 的单独项目中,其中包含 SharedResource.uk-UA.resx 和 SharedResource.cs。

【问题讨论】:

    标签: c# asp.net .net asp.net-mvc asp.net-core


    【解决方案1】:

    使用下一个服务配置提出解决方案:

    public void ConfigureServices(IServiceCollection services)
            {
                    services.AddMvc()
                    .AddControllersAsServices()
                    .AddViewLocalization(LanguageViewLocationExpanderFormat.Suffix)
                    .AddDataAnnotationsLocalization(
                        options =>
                        {
                            options.DataAnnotationLocalizerProvider = (type, factory) =>
                            {                            
                                return factory.Create(typeof(SharedResource));
                            };
                        }
                    );
            }
    

    【讨论】:

      猜你喜欢
      • 2017-06-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-22
      • 1970-01-01
      • 2012-06-10
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多