3

클라이언트 측 유효성 검사 DateTime 필드에 몇 가지 문제가 있습니다. 나는 날짜 시간 필드에 내 모델 클래스에 다음과 DataAnnotation을 사용하고 있습니다 : 나는 날짜를 삽입 할 jQuery를 UI에서 Datapicker을 사용하고MVC 3 Internet Explorer의 클라이언트 측 날짜 검증 문제

[Display(Name = "Beginning Date", Description = @"Insert Date yyyy-mm-dd")] 
[DataType(DataType.Date, ErrorMessage = @"Insert Date yyyy-mm-dd")] 
[DisplayFormat(DataFormatString = "{0:yyyy-MM-dd}", ApplyFormatInEditMode = true)] 

. 날짜 형식은

$(document).ready(function() { 
    $.datepicker.setDefaults({ dateFormat: 'yy-mm-dd' }); 
}); 

에 의해 시행됩니다. 따라서 Firefox에서 좋지만 Datepicker를 사용하여 날짜를 삽입하면 Internet Explorer에서 완전히 작동하지 않습니다. yyyy-mm-dd 대신 yyyy/mm/dd 형식으로 날짜를 입력하면 유효성 검사 오류가 표시되지 않습니다.

Internet Explorer에서 유효성 검사 형식이 Firefox와 다른 이유는 누구입니까? 어디에서 변경할 수 있습니까?

도움 주셔서 감사합니다.

답변

7

유효성 검사기 date을 유효성 검사기 dateISO으로 바꿀 수 있습니다. 기본적으로

$.validator.methods["date"] = function (value, element) { 
    return $.validator.methods.dateISO.apply(this, arguments); 
}; 

jQuery date validation method는 사용하는 자바 스크립트의 내장 Date 오브젝트 날짜가 유효한지 여부를 테스트합니다. Internet Explorer 8 이하에서는 Date 개체 ( JavaScript Version Information 참조)의 ISO 날짜 형식 사용이 지원되지 않으므로 유효성 검사가 실패합니다.