为c#Mvc验证创建通用消息

为c#Mvc验证创建通用消息,c#,asp.net-mvc,C#,Asp.net Mvc,我需要简单地存储通用验证消息以实现兼容性,我已经尝试过类似的方法 public static class GemericMessages { public static readonly string Required = "Required Filed"; } [Required(ErrorMessage = GemericMessages.Required)] public string UserName { get; set; } 但我面

我需要简单地存储通用验证消息以实现兼容性,我已经尝试过类似的方法

public static class GemericMessages
    {
        public static readonly string Required = "Required Filed";
    }

[Required(ErrorMessage = GemericMessages.Required)]
        public string UserName { get; set; }
但我面临的错误是say的:“属性参数必须是常量表达式、typeof表达式或数组创建表达式”


执行此操作的最佳实践是什么,以及如何修复此错误?

请使用资源字符串。RequiredField属性的重载允许您传入资源类和相应的fieldName

[必需(ErrorMessageResourceType=typeof(Resource1),ErrorMessageResourceName=“requiredField”)]

要添加资源文件(如果项目中尚未存在),只需右键单击项目即可。添加新项目并选择资源文件。将其添加到项目中后,您可以双击打开它,并输入验证消息的字符串:


您可以使用资源字符串。RequiredField属性的重载允许您传入资源类和相应的fieldName

[必需(ErrorMessageResourceType=typeof(Resource1),ErrorMessageResourceName=“requiredField”)]

要添加资源文件(如果项目中尚未存在),只需右键单击项目即可。添加新项目并选择资源文件。将其添加到项目中后,您可以双击打开它,并输入验证消息的字符串:


Vendettamit的答案是正确的,但如果您出于某种原因不希望使用资源,则可以将字符串常量标记为常量,而不是只读

public const string Required = "Required Filed";

Vendettamit的答案是正确的,但如果您出于某种原因不希望使用资源,那么可以将字符串常量标记为常量,而不是只读

public const string Required = "Required Filed";

感谢您的重播,但这是最好的方法,还是我需要自定义或覆盖它自己的属性?您认为呢?这是使用现成api实现此功能的最快、最简单的方法。感谢您的重播,但这是实现此功能的最佳方法还是我需要自定义或覆盖它自己的属性?你认为呢?这是使用现成的api实现它的最快、最简单的方法。