TLDR;
[Required(ErrorMessage = "Le champ {0} est obligatoire")]
[Required]
documentation
不提供隐式本地化给定数据批注集的方法。
我想得到注释的错误消息,比如
Required
StringLength
在不触碰他人的情况下,如
Display
ErrorMessage
属性。
注意:我只需要将消息翻译成法语,所以不需要将解决方案绑定到请求的语言。
我尝试了以下方法:
从
this
GitHub线程
在
Startup.cs
services.AddMvc(options => options.ModelBindingMessageProvider.AttemptedValueIsInvalidAccessor =
(value, name) => $"Hmm, '{value}' is not a valid value for '{name}'."));
给我以下错误
无法将属性或索引器“DefaultModelBindingMessageProvider.AttemptedValueIsInvalidAccessor”分配给--它是只读的
我找不到任何可以用作此对象的setter的属性。
this
所以回答
在
启动.cs
services.AddSingleton();
public class LocalizedValidationAttributeAdapterProvider : IValidationAttributeAdapterProvider
{
private readonly ValidationAttributeAdapterProvider _originalProvider = new ValidationAttributeAdapterProvider();
public IAttributeAdapter GetAttributeAdapter(ValidationAttribute attribute, IStringLocalizer stringLocalizer)
{
/* override message */
}
}
但这只抓住了
DataType