Jas*_*son 4 asp.net asp.net-mvc entity-framework-4 unobtrusive-validation asp.net-mvc-3
为什么即使我没有在模型中指定[Required]属性,也会触发客户端验证,说我的默认主题字段是必需的?

型号:
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
}
Run Code Online (Sandbox Code Playgroud)
查看:
@Html.DropDownListFor(x => x.DefaultThemeId,
new SelectList(ViewBag.Themes, "ThemeId", "Name"), string.Empty)
Run Code Online (Sandbox Code Playgroud)
我正在使用Entity Framework 4和ADO.NET实体数据模型,并将实体映射到我的模型中的POCO.
这是因为整数具有隐含价值.如果您希望它没有值,请使用int将类型更改为可为空的int?