У меня есть человек класс, который для целей данного вопроса, является простоКак переопределить DataAnnotations
public class Person
{
[Required(ErrorMessage = "***")]
[Display(Name = "Your full name")]
public string Name { get; set; }
}
Я унаследовать это в моем классе по жалобам
public class Complaints : Person
{
[Required(ErrorMessage = "***")]
[Display(Name = "Detail of the issue")]
public string Detail{ get; set; }
}
Все работает, как ожидалось.
Проблема в том, что теперь мы хотим, чтобы пользователю не нужно было целое имя, но я уже установил его.
Поскольку мой класс Person используется else, где я не могу изменить атрибут Required.
Как я могу переопределить DataAnnotations
в моем производном классе? Я предполагаю (что также объясняет мое замешательство), потому что DataAnnotation
принадлежит собственности, которую я не могу просто переопределить DataAnnocation
и должен переопределить всю собственность?
Используйте ключевое слово 'new'. Добавьте свойство 'Complaints' -' public new string Name {get; задавать; } '(без атрибута) или лучше, используйте модели представления. –
Спасибо. Как использовать ViewModel в этом экземпляре и как он отличается от класса со свойствами @StephenMuecke? – MyDaftQuestions
Модель просмотра - это класс, специфичный для представления. См. [Что такое ViewModel в MVC?] (Http://stackoverflow.com/questions/11064316/what-is-viewmodel-in-mvc) –