4
내 모델에 [필수] 속성을 지정하지 않은 경우에도 내 기본 테마 필드가 필요하다는 클라이언트 검증이 트리거되는 이유는 무엇입니까?ASP.NET MVC 3의 DropDownListFor에서 눈에 띄지 않는 유효성 검사 문제
모델 :
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 엔터티 데이터 모델과 엔티티 프레임 워크 4를 사용하여 내 모델에서 포항 강판에 엔티티를 매핑하고있다.
남자 나는 그것이 어리 석다는 것을 느꼈다 ... 그것은 그것이었다. 고마워요! – Jason
정말 int로 남겨두고 싶은 경우 Global.asax에서 DataAnnotationsModelValidatorProvider.AddImplicitRequiredAttributeForValueTypes을 false로 설정할 수 있습니다. int를 사용하는 것이 좋습니다. 하나. –
감사합니다 @ 나이젤. 하루 종일 검색했습니다. –