分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > IT知识

本地化ASP.NET核心模型绑定错误消息

发布时间:2023-09-06 02:14责任编辑:林大明关键词:.NET

默认错误消息:

MissingBindRequiredValueAccessor ???A value for the ‘{0}‘ property was not provided.MissingKeyOrValueAccessor ??????????A value is required.ValueMustNotBeNullAccessor ?????????The value ‘{0}‘ is invalid. AttemptedValueIsInvalidAccessor ????The value ‘{0}‘ is not valid for {1}.UnknownValueIsInvalidAccessor ??????The supplied value is invalid for {0}.ValueIsInvalidAccessor ?????????????The value ‘{0}‘ is invalid.ValueMustBeANumberAccessor ?????????The field {0} must be a number.
MissingRequestBodyRequiredValueAccessor ??????A non-empty request body is required.NonPropertyAttemptedValueIsInvalidAccessor ???The value ‘{0}‘ is not valid.NonPropertyUnknownValueIsInvalidAccessor ?????The supplied value is invalid.NonPropertyValueMustBeANumberAccessor ????????The field must be a number.

本地化ASP.NET核心模型绑定错误消息

若要本地化ASP.NET Core模型绑定错误消息,请按照下列步骤操作:

  1. 创建资源文件 - 在解决方案的Resources文件夹下创建资源文件,并将文件命名为ModelBindingMessages.resx。名称可以是其他任何名称,但我们将使用它来创建本地化程序。

  2. 添加资源键 - 打开资源文件并添加要用于本地化错误消息的键和值。我使用了键和值

  3. 配置选项 - 在ConfigureServices方法中,添加时Mvc,配置其选项以设置以下内容的消息访问者ModelBindingMessageProvider

  4.  1 ???services.AddMvc(options => 2 ????????????{ 3 ????????????????IStringLocalizerFactory F = services.BuildServiceProvider(). 4 ????????????????GetService<IStringLocalizerFactory>(); 5 ????????????????IStringLocalizer L = F.Create("ModelBindingMessages", 6 ????????????????????"AspNetCoreLocalizationSample"); 7 ????????????????options.ModelBindingMessageProvider. 8 ????????????????SetValueIsInvalidAccessor((x) => L["The value ‘{0}‘ is invalid."]); 9 ????????????????options.ModelBindingMessageProvider.SetValueMustBeANumberAccessor(10 ????????????????????(x) =>L["The field {0} must be a number."]);11 ????????????????options.ModelBindingMessageProvider.SetMissingBindRequiredValueAccessor(12 ????????????????????(x) => L["A value for the ‘{0}‘ property was not provided.", x]);13 ????????????????options.ModelBindingMessageProvider.SetAttemptedValueIsInvalidAccessor(14 ????????????????????(x, y) => L["The value ‘{0}‘ is not valid for {1}.", x, y]);15 ????????????????options.ModelBindingMessageProvider.SetMissingKeyOrValueAccessor(16 ????????????????????() => L["A value is required."]);17 ????????????????options.ModelBindingMessageProvider.SetUnknownValueIsInvalidAccessor(18 ????????????????????(x) => L["The supplied value is invalid for {0}.", x]);19 ????????????????options.ModelBindingMessageProvider.SetValueMustNotBeNullAccessor(20 ????????????????????(x) => L["Null value is invalid.", x]);21 ????????????}).AddDataAnnotationsLocalization()22 ????.AddViewLocalization();23 ????services.Configure<RequestLocalizationOptions>(options =>24 ????{25 ????????var supportedCultures = new[]{new CultureInfo("en"), new CultureInfo("zh-cn")};26 ????????options.DefaultRequestCulture = new RequestCulture("en", "en");27 ????????options.SupportedCultures = supportedCultures;28 ????????options.SupportedUICultures = supportedCultures;29 ????});
  5. 还要在Configure方法开头添加此代码:

    1 var supportedCultures = new[] { new CultureInfo("en"), new CultureInfo("zh-CN") };2 app.UseRequestLocalization(new RequestLocalizationOptions()3 {4 ????DefaultRequestCulture = new RequestCulture(new CultureInfo("en")),5 ????SupportedCultures = supportedCultures,6 ????SupportedUICultures = supportedCultures7 });

      

本地化ASP.NET核心模型绑定错误消息

原文地址:https://www.cnblogs.com/SpeakHero/p/9639676.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved