我使用System.ComponentModel.DataAnnotations
属性进行验证,但希望获取的错误消息不是来自硬编码的字符串或资源,而是来自外部服务。到目前为止我找到的解决方案需要太多代码 - 为每个属性创建适配器工厂,创建验证器提供程序并用DataAnnotationsModelValidatorProvider
替换ModelValidatorProviders.Providers
中的ErrorMessageResourceType
拥有。有没有更好的方法,某种扩展点代码可以"包装"所有对验证的调用仍然可以访问属性本身,因为我使用ErrorMessageResourceName
和REMOVE
作为键来在外部服务中找到正确的字符串。
(我使用的是MVC 5,而不是ASP.NET Core,这个问题似乎已经解决了)