Я использую глобальный статический метод для целей локализации. Этот статический метод принимает имя ресурса и возвращает строку Resource Value для него. Этот метод подобен этому
public static string GetResourceValue(string ResourceName)
{
return "StringValue";
}
Я получаю доступ к этому методу из моего представления, как это
@MyClass.GetResourceValue("ResourceName")
и он возвращает строковое значение для отображения. Это работает правильно, но как я могу использовать этот метод для использования в моей модели? Есть ли способ установить значение ErrorMessage из этого статического метода?
[Required(ErrorMessage=MyClass.GetResourceValue("ResourceName"))]
public string Name { get; set; }
Я получил решение этой проблемы, используя эту ссылку
Я просто создал новый класс со статическими свойствами, подобными этому
public class LocalizedErrorMsg
{
public static string NameRequiredMsg
{
get
{
return MyClass.GetResourceValue("NameRequiredMsg");
}
}
}
и в аннотации данных прошло ErrorMessageResourceName как статическое имя свойства и ErrorMessageResourceType в качестве имени класса, подобного этому
[Required(ErrorMessageResourceName = "NameRequiredMsg", ErrorMessageResourceType = typeof(LocalizedErrorMsg))]
public string Name { get; set; }
проблема в том, что ему нужно создать дополнительный класс, в котором хранятся статические свойства, которые возвращают сообщение об ошибке из моего глобального статического метода локализации. Я искал, но у меня не было другого решения.