2016-09-29 6 views
0

사용자 정의 날짜 형식 작동하지 않습니다DateEdit 나는이 모델이

@*Html.EditorFor(s => s.Birthdate)*@ 
@Html.DevExpress().DateEditFor(s => s.Birthdate, settings => 
{ 
    settings.Properties.DisplayFormatString = "dd.MM.yyyy"; 
    settings.Properties.EditFormatString = "dd.MM.yyyy"; 
}).GetHtml() 

첫 번째 변종 (즉 주석 것) 완벽하게 작동을하지만 난 DevExpress의를 사용해야합니다 . 그리고 DevExpress DateEdit은 어디서나 MM.dd.yyyy 형식을 설정 한 경우에만 올바른 값을 보냅니다. 그렇지 않으면 유효성 검사기 출력 :

필드 생년월일은 날짜 여야합니다.

어떻게이 문제를 해결할 수 있습니까? DateEdit documentation에 따르면, 당신은 EditFormat.Custom를 사용 DateEditFor에 서식 사용자 정의 편집을 설정할 수 있습니다

+1

문제가 유효성을 확인 jquery.validate.js''관련이있다 날짜는'MM/dd/yyyy' 형식을 기반으로합니다 ([이 답변] (http://stackoverflow.co 참조) m/questions/39677035/생년월일 유효 확인 - 유지 표시/39682410 # 39682410) 설명을 참조하십시오. 나는 익숙하지 않지만'DateEditFor()'는 [이 답변]과 비슷한 해결책을 사용할 수 있도록 날짜를 파싱하는 메소드를 가지고 있다고 가정합니다 (http://stackoverflow.com/questions/27285458/jquery-ui -datepicker-and-mvc-view-model-type-datetime/27286969 # 27286969) –

+0

물론 있습니다. 하지만 DX DateEdit을 설정하는 방법을 몰랐습니다. –

+0

그리고 설명해 주셔서 감사합니다. 나는 '유효성'에 대해 몰랐습니다. –

답변

0

는 다음과 같습니다 :

@Html.DevExpress().DateEditFor(s => s.Birthdate, settings => 
{ 
    settings.Properties.DisplayFormatString = "dd.MM.yyyy"; 
    settings.Properties.EditFormat = EditFormat.Custom; // add this line 
    settings.Properties.EditFormatString = "dd.MM.yyyy"; 
}).GetHtml() 

@Stephen 말했듯이, DX 확장 클라이언트 측 유효성 검사에 jquery.validate.jsjquery.validate.unobtrusive.min.js을 필요로 jQuery를 번들을 기반으로 레이아웃 페이지 또는보기 페이지에로드 할 수 있습니다. 따라서 기본 제공 유효성 검사 또는 원격 유효성 검사를 사용하여 EditFormatString 속성에 대한 날짜 형식을 확인할 수 있습니다 (아래 참조).

검증 참조 :

Built-in Validation

Remote Validation

비슷한 날짜 형식에

관련 문제 :

DateEdit - Bind to a nullable property