我需要简单地存储兼容性的通用验证消息我尝试过这样的
public static class GemericMessages
{
public static readonly string Required = "Required Filed";
}
[Required(ErrorMessage = GemericMessages.Required)]
public string UserName { get; set; }
但我正面临错误说:"属性参数必须是常量表达式,typeof表达式或数组创建表达式"
执行此操作的最佳做法是什么,以及如何解决此错误?
答案 0 :(得分:1)
您改为使用资源字符串。必填字段属性的重载允许您传入资源类和相应的fieldName。
[Required(ErrorMessageResourceType = typeof(Resource1), ErrorMessageResourceName = "requiredField")]
要添加资源文件(如果项目中尚不存在),只需右键单击您的项目即可。添加新项目并选择资源文件。在项目中添加后,您可以双击打开它并输入您的字符串以进行验证消息:
答案 1 :(得分:1)
Vendettamit的回答是正确的,但是如果您因某些原因不想使用资源,那么它将标记您的字符串const而非readonly。
public const string Required = "Required Filed";