モデルで[必須]属性を指定していなくても、デフォルトのテーマフィールドが必須であるというクライアント検証がトリガーされるのはなぜですか?
モデル :
public class Site
{
public int SiteId { get; set; }
[Required(ErrorMessage = "*")]
[LocalizedDisplayName("Title")]
public string Title { get; set; }
[Required(ErrorMessage = "*")]
[LocalizedDisplayName("RootDirectory")]
public string RootDirectory { get; set; }
[LocalizedDisplayName("DefaultTheme")]
public int DefaultThemeId { get; set; } // <-- No required attribute here
[Required(ErrorMessage = "*")]
[LocalizedDisplayName("ThemesDirectory")]
public string ThemesDirectory { get; set; }
public virtual Theme DefaultTheme { get; set; } // <-- No required attribute here
}
意見 :
@Html.DropDownListFor(x => x.DefaultThemeId,
new SelectList(ViewBag.Themes, "ThemeId", "Name"), string.Empty)
ADO.NETエンティティデータモデルでEntityFramework4を使用しており、モデル内のPOCOにエンティティをマッピングしています。