최근 프로젝트에서 jQuery 유효성 검사를 사용하여 날짜를 확인했습니다. 내가 직면한 문제와 예상치 못한 상황은 ASP.NET MVC 3 프로젝트에서 요소, 양식을 확인하기 위해 양식의 유효한 메소드가 호출되는 경우 날짜 확인 설정을 추가하지 않았지만 type="date"만 추가하더라도 날짜 형식이 올바른지 확인하기 위해 여전히 날짜 확인 로직을 호출합니다. 이는 원래 좋은 동작이지만 문제는 지원하는 날짜 형식이 제한되어 있다는 것입니다. jQuery 유효성 검사 코드를 읽어 보면 알 수 있습니다(물론 "날짜"에 대한 날짜 유효성 검사도 설명되어 있습니다). 코드에 반영되어 새로운 날짜(날짜 문자열)가 성공할 수 있는지 확인하기 위해 Javascript의 내장 처리만 사용합니다. 내 컴퓨터에서는 날짜 "9/5/2012"를 입력했지만 "2012-9-5"는 실패했는데 이는 분명히 올바른 형식이기도 합니다. 이 동작을 변경하거나 개선해야 합니다. 어떻게 하나요?
물론 jQuery Validation의 소스코드를 수정할 수는 있지만 우선 CDN에 있는 코드를 인용하고 있습니다. 둘째, 공공도서관으로서는 직접 수정하지 않는 것이 가장 좋다고 생각합니다. 시간이 지날수록 저희가 수정하는 것을 깜빡하고 정식 버전이 업데이트될 때 내려서 업데이트를 하게 되었는데, 결과적으로 저희가 수정한 부분이 덮어씌워진 것 같습니다. 더 좋은 방법은 패치를 해서 날짜 확인 기능을 외부에서 자체적으로 교체하는 것입니다. 아마도 Javascript의 OO가 그다지 철저하지 않기 때문에 내장된 검증 방법이 protected/private으로 변경되지 않습니다. 소스 코드를 읽은 후 교체 방법은 매우 간단합니다. jQuery Validation의 소스 코드를 인용하면 됩니다.