Как установить строковое значение аннотации данных ErrorMessage из статического метода, который возвращает строку

1

Я использую глобальный статический метод для целей локализации. Этот статический метод принимает имя ресурса и возвращает строку Resource Value для него. Этот метод подобен этому

public static string GetResourceValue(string ResourceName)
{
    return "StringValue";
}

Я получаю доступ к этому методу из моего представления, как это

@MyClass.GetResourceValue("ResourceName")

и он возвращает строковое значение для отображения. Это работает правильно, но как я могу использовать этот метод для использования в моей модели? Есть ли способ установить значение ErrorMessage из этого статического метода?

[Required(ErrorMessage=MyClass.GetResourceValue("ResourceName"))]
public string Name { get; set; }
Теги:
data-annotations
asp.net-mvc-4

1 ответ

3
Лучший ответ

Я получил решение этой проблемы, используя эту ссылку

Я просто создал новый класс со статическими свойствами, подобными этому

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; }

проблема в том, что ему нужно создать дополнительный класс, в котором хранятся статические свойства, которые возвращают сообщение об ошибке из моего глобального статического метода локализации. Я искал, но у меня не было другого решения.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню