Validation ASP.NET CORE 3.1中数据注释和错误验证消息的本地化
如何在ASP.NET CORE 3.1中本地化数据批注和验证错误消息Validation ASP.NET CORE 3.1中数据注释和错误验证消息的本地化,validation,asp.net-core,localization,resources,globalization,Validation,Asp.net Core,Localization,Resources,Globalization,如何在ASP.NET CORE 3.1中本地化数据批注和验证错误消息 [Required(ErrorMessage = "something")] [StringLength(100, ErrorMessage = "The {0} must be at least {2} and at max {1} characters long.", MinimumLength = 6)] [DataType(DataType.Passwor
[Required(ErrorMessage = "something")]
[StringLength(100, ErrorMessage = "The {0} must be at least {2} and at max {1} characters long.", MinimumLength = 6)]
[DataType(DataType.Password)]
[Display(Name = "Password")]
public string Password { get; set; }
我使用Microsoft文档中资源文件的标准实现
services.AddLocalization(option => option.ResourcesPath = ProjectConstants.LanguageResourcesPath);
services.AddControllersWithViews()
.AddViewLocalization(
LanguageViewLocationExpanderFormat.Suffix,
option => option.ResourcesPath = "Resources")
.AddDataAnnotationsLocalization();
我的资源文件结构
|-资源
|--控制器
|--观点
|--模型
我正在重构身份页,无法用两种语言显示标准错误消息。Microsoft文档中的此示例不适用于我。。[
请有人帮助我在本地化上添加数据批注 InputModel在默认标识注册页面位于/Areas/Identity/Pages/Account/Register.cshtml.cs中,您需要将资源文件命名为
Areas.Identity.Pages.Account.RegisterModel+InputModel.en-US.resx
对于PageModel中的任何嵌套模型,您都需要使用+而不是。您的模型在哪里?请确保资源文件的命名正确。您可以在appsettings.Development.json中将LogLevel设置为Debug,并在提交表单时检查日志。除了@XingZou answer,还有助于更快地进行本地化。您好,命名有问题资源和我找到了它,但它出现了大问题。当我尝试将资源设置为公共InvalidOperationException时出错:无法检索属性“Name”,因为本地化失败。此外,我在Visual Studio中遇到错误,原因是resxcodegenerator PublicResXFileCodeGenerator未能为输入文件“resource.en US.resx”b生成输出ut未记录特定错误。我已尽了最大努力,但无法修复它,是否有人遇到此问题?