У меня есть сайт, который можно открыть на нескольких языках, строки с сайта извлекаются из XML-файла, который предоставляется владельцем продукта.аннотация нестатической ошибки ErrorMessage в MVC
Модель содержит много полей, но на этот вопрос мы просто глядя на FamilyName
public class RegisterViewModel
{
public Translation Translation { get; set; }
[Required(ErrorMessageResourceType = typeof(Resources.Resources), ErrorMessageResourceName = "LastNameEnter")]
[Display(Name = "Last Name")]
public string FamilyName { get; set; }
}
Я ранее используемый для получения проверки и требуемой ошибки для обменивались сообщениями полей на моих моделях, использующих данный формат. Теперь, хотя у нас есть помощник, который читает XML-файл и создает объект перевода, который содержит список «Item», каждый элемент представляет собой строку с некоторыми другими свойствами.
Я попытался изменить поля на моей модели в следующем формате, однако он не работает, потому что я получаю следующую ошибку:
An object reference is required for the non static field.
[Required(ErrorMessage = Translation.Item.Find(x => x.Id == "FamilyName " && x.Type == "Required").Text)]
public string FamilyName { get; set; }
Как я могу идти о создании сообщения об ошибке с помощью моего не статическое имущество Translation
.
Свойство перевода задается в конструкторе с контроллера.
EDIT:
Проблема заключается в моем Translation
объектов конкретизации опираясь на строки запроса в запросе.
string Language = !String.IsNullOrEmpty(Request.QueryString["l"])? Request.QueryString["l"]: "en-en";
model.Translation = RegistrationScriptHelper.Translation.GetRegistrationScript(Request).Find(x => x.Language == Language);
EDIT 2: Global.asax.cs:
DataAnnotationsModelValidatorProvider.RegisterAdapter(typeof(CustomRequiredAttribute),
typeof(RequiredAttributeAdapter));
Выходные:
<входной класс = "входных -block-level "data-val =" true "data-val-email =" Этот адрес электронной почты недействителен. " data-val-required = "Пожалуйста, введите свой адрес электронной почты." id = "Email" name = "Email" tabindex = "3" value = "" type = "text"> – ObiEff