如何替换默认的DataAnnotations。
有一个模型:
public class LoginViewModel
{
[Required(ErrorMessage = "RequiredAttribute_ValidationError")]
[EmailAddress]
public string Email { get; set; }
[Required]
[DataType(DataType.Password)]
public string Password { get; set; }
}
在这里我找到了DataAnnotations的资源文件-strings.resx
将其添加到项目中,名称为-SharedResource.ru.resx
已将更改添加到Startup.cs
services.AddMvc()
.AddViewLocalization(LanguageViewLocationExpanderFormat.Suffix)
.AddDataAnnotationsLocalization(options =>
{
options.DataAnnotationLocalizerProvider = (type, factory) =>
{
var assemblyName = new AssemblyName(typeof(SharedResource).GetTypeInfo().Assembly.FullName);
return factory.Create("SharedResource", assemblyName.Name);
};
});
现在事实证明,在ErrorMessage
指示的地方,它使用了本地化。以及如何进行设置而无需指定ErrorMessage
就能进行本地化。