gpt4 book ai didi

c# - 更改模型验证属性asp.net core 3.1的默认ErrorMessage

转载 作者:行者123 更新时间:2023-12-05 07:04:06 25 4
gpt4 key购买 nike

如何避免每次都写[Required(ErrorMessage="My custom error message")]并为整个项目设置默认的ErrorMessage

最佳答案

经过一番研究,我发现了使用某种本地化文件和资源文件的唯一方法。你还需要写 [Required(ErrorMessage="<Resource Key Goes Here>")] .但是只使用像这样的常量消息的优势 [Required(ErrorMessage=Class.Property)]是你可以访问资源文件中的属性变量。

我是这样做的:

  1. 在根目录下创建一个名为Resources的文件夹
  2. Resources 文件夹中创建一个名为 ValidationMessages.cs 的空类
  3. Resources 文件夹中创建一个名为 ValidationMessages.resx 的空文件
  4. 使用 VisualStudio 编辑器编辑 .resx 文件
  5. 示例键值对 [StringLength]属性:“StringLength”,“最小长度 {2},最大长度 {1}”
  6. 在模型中使用属性 [StringLength(20, MinimumLength = 10, ErrorMessage = "StringLength")]
  7. 将此代码添加到Startup.cs
    using MyProject.Resources;
...
public void ConfigureServices(IServiceCollection services)
{
services.AddMvc()
.AddDataAnnotationsLocalization(options => {
options.DataAnnotationLocalizerProvider = (type, factory) =>
factory.Create(typeof(ValidationMessages));
});
...

完成了。

关于c# - 更改模型验证属性asp.net core 3.1的默认ErrorMessage,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63013410/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com