У меня есть экземпляр в приложении MVC2, где единственное различие между двумя представлениями - это немного другая проверка проверки диапазона в одном и том же поле.В попытке сохранить приложение как можно более сухим, мне интересно, можно ли как-то переопределить атрибут проверки.
Я попытался получить производную ViewModel, которая переопределяет свойство и реализует проверку диапазонаиначе как так:
public class Base
{
[Range(1, 100)]
public virtual int SomeProperty { get; set; }
}
public class Derived : Base
{
[Range(2, 100)]
public override int SomeProperty { get; set; }
}
однако, когда я пытаюсь, чтобы проверка на стороне клиента MVC по-прежнему продолжала выбирать атрибут проверки базового класса, а не производный.
Я знаю, что естьлиния мысли, которая говорит, что я должен иметь совершенно другую ViewModel и никогда не наследовать, но это просто так неправильно.Я бы дублировал View, ViewModel и логику, чтобы заполнить его.