Я использую C # 4.5 и ASP.NET MVC 5. У меня есть следующее:
[Required(ErrorMessage = "Prop1 is required")]
public string Prop1 { get;set;}
[Required(ErrorMessage = "Prop2 is required")]
public string Prop2 { get;set;}
Как видите, в сообщении об ошибке указывается имя свойства плюс строка "требуется".Что мне нужно, вместо того, чтобы вводить имя свойства и сообщение для каждого свойства, использовать универсальный метод composer, который будет возвращать имя украшенного свойства и строку, которую я добавляю, что-то вроде:
public string GetMessage()
{
// Caller property should be a variable that is retrieved dynamically
// that holds the name of the property that called the function
return CallerProperty + " is required";
}
теперь я могу использовать:
[Required(ErrorMessage = GetMessage())]
public string Prop2 { get;set;}
Итак, вкратце: как узнать имя свойства, которое украшено атрибутом.