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

时间:2017-06-20 21:39:46

标签: c# asp.net-mvc

我需要简单地存储兼容性的通用验证消息我尝试过这样的

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

[Required(ErrorMessage = GemericMessages.Required)]
        public string UserName { get; set; }

但我正面临错误说:"属性参数必须是常量表达式,typeof表达式或数组创建表达式"

执行此操作的最佳做​​法是什么,以及如何解决此错误?

2 个答案:

答案 0 :(得分:1)

您改为使用资源字符串。必填字段属性的重载允许您传入资源类和相应的fieldName。

[Required(ErrorMessageResourceType = typeof(Resource1), ErrorMessageResourceName = "requiredField")]

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

enter image description here

答案 1 :(得分:1)

Vendettamit的回答是正确的,但是如果您因某些原因不想使用资源,那么它将标记您的字符串const而非readonly。

public const string Required = "Required Filed";