我正在使用IDisplayMetadataProvider
以下列方式为表单元素提供翻译:
public class DisplayAttributeMetadataProvider : IDisplayMetadataProvider
{
public void CreateDisplayMetadata(DisplayMetadataProviderContext context)
{
var metadata = context.DisplayMetadata;
var display = context.Attributes.OfType<DisplayAttribute>().FirstOrDefault();
/* lines deleted to increase reability */
metadata.DisplayName = () => new MakeItTranslatable(display.Name);
}
}
给定模型:
public class Model
{
[Display(Name = "Account name")]
[Required]
public string Login { get; set; }
}
@Html.LabelFor(m => m.Login)
给出了正确的结果。短语&#34;帐户名称&#34;已翻译。
但是@Html.ValidationMessageFor(m => m.Login)
没有提供正确的验证消息。短语&#34;帐户名称&#34;未在验证消息中翻译。
我正在使用服务器端验证(没有jquery.validate.js),但客户端的属性正确呈现。 (帐户名= Nazwa konta)
我错过了什么?