2014-11-19 2 views
3

datetime 속성이있는 모델을 가지고 있으며 해당 뷰에 값이있는 경우가 아니면보기에서 해당 양식을 제출할 수 없습니다.DateTime 모델 속성을 필수로 만들려면 어떻게해야합니까?

employee { 
[DataType(DataType.Date)] 
[DisplayFormat(DataFormatString = "{0:yyyy-MM-dd}", ApplyFormatInEditMode = true)] 
[Required] // <- this isn't doing anything for me??? 
public DateTime DateOfBirth {get;set;} 
} 

나는이 사용할 수있는 또는 내가 페이지에 자바 스크립트를 사용해야합니까 주석이있다?

또는 다른 해결책이 있습니까?

업데이트 -

내가 날짜 편집기를 취소하면, 나는 내 편집기 상자에 다음을 얻을

:이 제출할 때

mm/dd/yyyy 

, 이것은 null를 계산 또는 무엇입니까? 날짜 시간 속성 널 (NULL) 내 문제가 해결되지 않았다 만들기, 내가

+0

'DateTime'은 null이 될 수 없습니다. 타입을'DateTime?'으로 변경하면 어떻게됩니까? – Jonesopolis

+0

@Jonesy 무엇을 의미합니까? 그것은 이미 DateTime –

+0

형식 뒤에 물음표를 추가하면 null 가능하므로'DateTime?'은 nullable'DateTime'입니다. – Jonesopolis

답변

12

귀하의 문제가 DateTime항상 값을 가지고있는 날짜 (mm/dd/yyyy)을 가진 양식을 제출할 때 발생하는 유효성 검사를 프로그래머 없습니다.

당신은 확인해야합니다 그것을 널 (NULL)DateTime : 값이 존재하지 않고 예상대로 Required 속성이 동작하는 경우

[Required] 
public DateTime? DateOfBirth { get; set; } 

지금 당신의 속성이 null이됩니다.

+0

내가보기에, 고마워. –

+0

내 업데이트 된 질문을 참조하십시오. –

+0

@AbdulAhmad 질문에 대한 답변이 충분하지 않습니다. 이것이 문제의 원인이며, 여전히 문제가있는 경우 원인은 다음과 같습니다. 다른 곳에서. 이제 액션 메소드를 디버그하고 모델 속성을 검사하여'Model.IsValid' 등을 확인해야합니다. * 다른 * 문제가 발생하면 새로운 질문으로 질문하십시오. –

관련 문제