У меня есть model
, которая содержит основную информацию. Однако для моего View
требуется дополнительная информация только для отображения, поэтому я думаю, что здесь требуется ViewModel
, чтобы отобразить эту дополнительную информацию. Однако, следует ли добавить Validation attributes
в модель, чтобы при выполнении Code-First migration
оно автоматически создало для меня database
с правильным datatype
каждого столбца или я должен добавить Validation attributes
в ViewModel, так как форма должна validate
заполненная информация?Проверка ASP.NET MVC в модели ViewModel или модели?
public class Module
{
[Key]
public int id { get; set; }
[Required]
[StringLength(100)]
[Column(TypeName = "varchar")]
[Display(Name="Module Name")]
public string ModuleName { get; set; }
}
public class ModuleViewModel
{
[Key]
public int id { get; set; }
[Required]
[StringLength(30)]
[Column(TypeName="varchar")]
[Display(Name="Module ID")]
public string ModuleID { get; set; }
[Required]
[StringLength(100)]
[Column(TypeName = "varchar")]
[Display(Name="Module Name")]
public string ModuleName { get; set; }
//To populate dropdownlist
public List<SelectListItem> ModuleLevelList { get; set; }
}
Действительно ли мне нужен ViewModel
?
Я предполагаю, что это оба пути ... –
Класс 'Module' - это ваш класс сущности, для него не имеет смысла вставлять валидацию, вы можете использовать viewmodel для проверки и другие материалы для отображения на странице просмотра. В этом случае вам нужно будет сопоставьте классы объектов с классами viewmodel. –
Обратите внимание, что тег model-view-controller предназначен для вопросов о шаблоне. Существует определенный тег для реализации ASP.NET-MVC. –