作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
TLDR;
如何获得行为
[Required(ErrorMessage = "Le champ {0} est obligatoire")]
[Required]
Required
和
StringLength
在不接触其他人的情况下可以过度骑行,例如
Display
并且无需使用
ErrorMessage
显式指定翻译属性。
Startup.cs
services.AddMvc(options => options.ModelBindingMessageProvider.AttemptedValueIsInvalidAccessor =
(value, name) => $"Hmm, '{value}' is not a valid value for '{name}'."));
Property or indexer 'DefaultModelBindingMessageProvider.AttemptedValueIsInvalidAccessor' cannot be assigned to -- it is read only
Startup.cs
服务.AddSingleton();
public class LocalizedValidationAttributeAdapterProvider : IValidationAttributeAdapterProvider
{
private readonly ValidationAttributeAdapterProvider _originalProvider = new ValidationAttributeAdapterProvider();
public IAttributeAdapter GetAttributeAdapter(ValidationAttribute attribute, IStringLocalizer stringLocalizer)
{
/* override message */
}
}
DataType
注解
最佳答案
在 .Net Core 2 中,Accessor
在 ModelBindingMessageProvider
中的属性是只读的,但您仍然可以使用 Set...Accessor()
设置它们方法。这是与我正在使用的代码类似的代码,感谢对 ASP.NET Core Model Binding Error Messages Localization 的回答.
public static class ModelBindingConfig
{
public static void Localize(MvcOptions opts)
{
opts.ModelBindingMessageProvider.SetMissingBindRequiredValueAccessor(
x => string.Format("A value for the '{0}' property was not provided.", x)
);
opts.ModelBindingMessageProvider.SetMissingKeyOrValueAccessor(
() => "A value is required."
);
}
}
// Startup.cs
public void ConfigureServices(IServiceCollection services)
{
// ...
services.AddMvc(
opts =>
{
ModelBindingConfig.Localize(opts);
})
.AddViewLocalization()
.AddDataAnnotationsLocalization();
}
关于asp.net-core-2.1 - 隐式本地化法语 `Required` 注释,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50888963/
我是一名优秀的程序员,十分优秀!