MVVM パターンを使用してビューを設定している場合、つまり、モデル クラスに加えてビュー モデルを使用している場合。モデル クラスはビューと対話しません。ビューモデルはビューにデータを取り込みます。
このようなシナリオで、検証などにデータ注釈を使用する必要がある場合は、モデル クラスではなくビュー モデル クラスに注釈を付ける必要がありますよね?
たとえば、[Required] 属性に注釈を付ける必要があります。
namespace MyApp.ViewModels
{
public class Category
{
[Required]
[StringLength(50)]
public string CategoryName { get; set; }
[StringLength(255)]
[AllowHtml]
public string Description { get; set; }
}
}
または、次のようにする必要があります。
namespace MyApp.Models
{
public partial class Category
{
[Required]
public virtual string CategoryName
{
get;
set;
}
}
}