asp.net-core - 无法在 .net 3.1 中获取文化资源
问题描述
早上好,
我正在使用 .netCore 3.1 并且在我的模型中我有电子邮件的属性验证,但返回消息始终是默认的,我无法以预期的文化收到消息。
我认为结构文件夹是正确的,当我检查中间件时,资源库有这条路线:
有人知道吗?
谢谢!!
解决方案
我正在使用 .netCore 3.1 并且在我的模型中我有电子邮件的属性验证,但返回消息始终是默认的,我无法以预期的文化收到消息。
我用下面的代码片段做了一个测试,它按预期工作,你可以参考它。
Models
我在文件夹下的测试模型类
public class MyModel
{
[Required(ErrorMessage = "The Email field is required")]
[EmailAddress(ErrorMessage = "The Email field is not a valid email address")]
[Display(Name = "Email")]
public string Email { get; set; }
//...
//other properties
//...
}
我的资源文件MyModel.fr.resx
和文件夹结构
配置本地化
services.AddLocalization(options => options.ResourcesPath = "Resources");
services.AddControllersWithViews().AddDataAnnotationsLocalization()
.AddViewLocalization(LanguageViewLocationExpanderFormat.Suffix);
测试结果
此外,您可以参考这篇关于“ASP.NET Core 中的全球化和本地化”的文档并尝试这些步骤来解决问题。
检查您是否在应用程序中正确配置本地化和数据注释本地化
检查浏览器用户是否选择并设置语言/文化
检查您是否正确使用点或路径命名约定来组织/命名您的资源文件
推荐阅读
- c - 中断 - 微控制器,Atmega 328p - 捕捉时间
- java - 当我尝试加载决策表时,Drools 找不到编译器
- jestjs - 如何在玩笑中隐藏proptype检查的控制台警告
- python - 从下拉列表中更新 vbar_stack 散景
- c# - 从动态 JSON 数组中提取数据
- vuejs2 - vue js 不会在方法调用中间更新 DOM
- scala - 在 Scala 中寻找自由端口的优雅方式
- node.js - 如果我传递的对象具有比表中现有属性更多的属性,sequelize update 方法会在表中创建新列吗?
- sql - EF Core 3.1 生成破坏旧代码的 ORDER BY (SELECT 1)
- excel - 如何创建复制单元格的宏,将它们粘贴到第一个可用行并清除一些内容