如何将DataAnnotations ErrorMessageResourceName与自定义资源解决方案一起使用

我正在用C#构建一个MVC Web应用程序。 由于该网站将是多语言的,我已经实现了自己的ResourceManager。 此类负责从数据库/缓存中获取所需的资源字符串,具体取决于当前的线程文化,并且到目前为止工作正常。

我的问题是,我想使用我的自定义ResourceManager解决方案来获取validation错误消息,例如在属性上使用必需属性。 可以这样做吗?

RequiredAttribute允许使用自定义资源管理器 :

[Required( ErrorMessageResourceType = typeof(CustomResourceManager), ErrorMessageResourceName = "ResourceKey")] public string Username { get; set; } 

更新:

另一种可能性是编写自定义属性:

 public class CustomRequiredAttribute : RequiredAttribute { public override string FormatErrorMessage(string name) { return YourCustomResourceManager.GetResource(name); } }