私は基本情報を含むmodel
を持っています。しかし、私のView
は表示のためにもっと多くの情報を必要とするので、私はViewModel
がその余分な情報を表示するためにここに必要と思うと思う。しかし、Validation attributes
をモデルに追加すると、Code-First migration
を実行すると、database
が自動的に作成され、各列の正しいdatatype
が作成されます。記入情報のため、Validation attributes
をViewModelに追加する必要がありますか?ViewModelまたはModelでのASP.NET MVC検証?
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の実装には特定のタグがあります。 –