【问题标题】:ASP.NET Core ValidationAttribute message languageASP.NET Core ValidationAttribute 消息语言
【发布时间】:2016-08-31 22:20:19
【问题描述】:

如何全局重载从 [Required] 属性获取的错误消息?可能,我应该更改 CultureInfo,但我找不到任何教程。默认语言仍为英语。谢谢!

【问题讨论】:

  • 据我所知,您可以[Required(ErrorMessage = @"This is required")] 但这只会使用一种语言。
  • ErrorMessage 工作良好,可以显示任何语言,但是一直写相同的文本很难看。

标签: asp.net-core asp.net-core-mvc .net-core asp.net-core-localization


【解决方案1】:

关于 ASP.NET Core 的全球化和本地化的第一个参考是 https://docs.asp.net/en/latest/fundamentals/localization.html

您将在此处找到有关如何翻译数据注释以及如何配置 ASP.NET Core 以为每个请求选择适当语言/CultureInfo 的信息。

DataAnnotations 错误消息已本地化为 IStringLocalizer<T>。 使用选项 ResourcesPath = "Resources",错误消息在 RegisterViewModel 可以存储在以下任一路径中:

资源/ViewModels.Account.RegisterViewModel.fr.resx 资源/ViewModels/Account/RegisterViewModel.fr.resx

对于身份模型的内置错误消息(例如“此电子邮件已被占用。”或基本验证文本,您必须进行更多配置。我在 ASP.Net Core localization 中记录了一些工作。

【讨论】:

  • 感谢您的回答和链接,希望asp.net核心团队将来会变得更简单,就像在asp.net mvc中一样。
【解决方案2】:

您可以尝试使用ErrorMessageResourceNameErrorMessageResourceType,使用资源文件来存储消息。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-13
    • 1970-01-01
    • 2021-01-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多