我正在用 C# 构建一个 MVC Web 应用程序。由于该站点将是多语言的,因此我实现了自己的 ResourceManager。此类负责根据当前线程文化从数据库/缓存中获取所需的资源字符串,并且到目前为止工作正常。
我的问题是,我想使用我的自定义 ResourceManager 解决方案来获取验证错误消息,例如在属性上使用必需属性。这可以做到吗?
我正在用 C# 构建一个 MVC Web 应用程序。由于该站点将是多语言的,因此我实现了自己的 ResourceManager。此类负责根据当前线程文化从数据库/缓存中获取所需的资源字符串,并且到目前为止工作正常。
我的问题是,我想使用我的自定义 ResourceManager 解决方案来获取验证错误消息,例如在属性上使用必需属性。这可以做到吗?
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);
}
}