MVC3 же ViewModel используется для двух случаев с атрибутом Required только в одном случае - PullRequest
0 голосов
/ 20 декабря 2011

У меня есть ViewModel.что-то вроде этого

public class ViewModel
{
   public int Id { get; set; }
   public int? Value { get; set; }
}

У меня есть таблица существующих ViewModels, и ниже у меня есть форма, где вы можете добавить новую ViewModel

Для существующих ViewModels, которые выбираются из БД, я хочунет проверки для свойства Value, но для случая, когда добавляется новая ViewModel, я хочу требуемую проверку .... Реальная модель более сложна, чем эта, поэтому я хочу использовать одну и ту же модель в обоих случаях. Возможно ли это?

edit: это работает

public class AddNewViewModel : ViewModel
{
    public new int Value { get; set; }
}

Лучше использовать new или virtual/override и почему?

1 Ответ

0 голосов
/ 20 декабря 2011

Обязательные атрибуты компилируются в класс.Вы можете сделать что-то вроде этого:

public class BaseViewModel
{
   public int Id { get; set; }
   public virtual int? Value { get; set; }
}

public class CreateViewModel : BaseViewModel
{
   [Required]
   public override int? Value { get; set; }
}

Таким образом, вы добавите атрибут проверки только в свойства, где они вам нужны.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...