>  기사  >  웹 프론트엔드  >  jQuery Validation_jquery에서 기본 확인 방법 수정

jQuery Validation_jquery에서 기본 확인 방법 수정

WBOY
WBOY원래의
2016-05-16 17:56:201117검색

최근 프로젝트에서 jQuery 유효성 검사를 사용하여 날짜를 확인했습니다. 내가 직면한 문제와 예상치 못한 상황은 ASP.NET MVC 3 프로젝트에서 요소, 양식을 확인하기 위해 양식의 유효한 메소드가 호출되는 경우 날짜 확인 설정을 추가하지 않았지만 type="date"만 추가하더라도 날짜 형식이 올바른지 확인하기 위해 여전히 날짜 확인 로직을 호출합니다. 이는 원래 좋은 동작이지만 문제는 지원하는 날짜 형식이 제한되어 있다는 것입니다. jQuery 유효성 검사 코드를 읽어 보면 알 수 있습니다(물론 "날짜"에 대한 날짜 유효성 검사도 설명되어 있습니다). 코드에 반영되어 새로운 날짜(날짜 문자열)가 성공할 수 있는지 확인하기 위해 Javascript의 내장 처리만 사용합니다. 내 컴퓨터에서는 날짜 "9/5/2012"를 입력했지만 "2012-9-5"는 실패했는데 이는 분명히 올바른 형식이기도 합니다. 이 동작을 변경하거나 개선해야 합니다. 어떻게 하나요?

물론 jQuery Validation의 소스코드를 수정할 수는 있지만 우선 CDN에 있는 코드를 인용하고 있습니다. 둘째, 공공도서관으로서는 직접 수정하지 않는 것이 가장 좋다고 생각합니다. 시간이 지날수록 저희가 수정하는 것을 깜빡하고 정식 버전이 업데이트될 때 내려서 업데이트를 하게 되었는데, 결과적으로 저희가 수정한 부분이 덮어씌워진 것 같습니다. 더 좋은 방법은 패치를 해서 날짜 확인 기능을 외부에서 자체적으로 교체하는 것입니다. 아마도 Javascript의 OO가 그다지 철저하지 않기 때문에 내장된 검증 방법이 protected/private으로 변경되지 않습니다. 소스 코드를 읽은 후 교체 방법은 매우 간단합니다. jQuery Validation의 소스 코드를 인용하면 됩니다.

코드 복사 코드는 다음과 같습니다.

$. validator.methods.date = 함수(값, 요소)
{
// Date.parse 함수는 날짜를 처리하는 다른 라이브러리에서 제공됩니다.
return this.ional(element) || Date.parse(value ) != null;
};

또한 동일한 방법을 사용하여 다음과 같이 기본 메시지를 대체할 수 있습니다.
코드 복사 코드는 다음과 같습니다:

$.validator.messages.date = "잘못된 날짜를 입력하셨습니다"

물론 jQuery Validation의 전역화 및 지역화 설명에서 언급한 메시지 처리 방법에 대한 다른 지원이 있으면 더 좋습니다.
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.