2012-10-21 3 views
2

비즈니스 웹 사이트에 대한 백엔드 데이터베이스 UI를 구축 중이며 몇 가지 날짜 입력란이 포함 된 양식이 있습니다. 나는 그들 (dateFormat : 'dd/mm/yyyy')에 jQueryUI datepicker를 사용하고 있지만 입력 필드에 날짜를 입력 할 수도있다. 그래서 입력을 검증하기를 원한다. (나는 또 다른 플러그인이 있다는 것을 알고있다. datepicker 필드의 유효성을 검사하지만 더 많은 플러그인을 도입하는 것을 피하고 싶습니다.)jQuery 유효성 검사 플러그인 날짜 형식 : 날짜가 날짜와 간섭합니다.

저는 Chrome의 로케일 설정 문제를 해결하기 위해 연구 중이며 해결 된 것으로 생각하지만 다른 게시물에서 언급하지 않은 다른 문제가 있습니다.

클라이언트에서이 형식의 날짜를 확인하지 않는 Chrome을 사용하여 액세스 할 가능성이 높습니다. 따라서 validate 플러그인과 함께 제공되는 additional-methods.js 파일에서 dateITA를 사용하고 있습니다.

function validate_newjob() { 
$('#newjob').validate({ 
     rules: { 
      DueDate: { 
       required: true, 
       dateITA: true 
      } 
     }, 
     messages: { 
      DueDate: { 
       required: "* Required", 
       dateITA: "Date format dd/mm/yyyy" 
      } 
     }, 
     errorClass: "formerror", 
     errorElement: "span", 
     errorPlacement: function(error, element) { 
      $(element).next().after(error); 
     } 
    }); 
} 

잘 작동합니다. 날짜가 잘못되었을 때 "Date format dd/mm/yyyy"라는 메시지를 사용하여 유효성을 검사합니다.

예 : 2012 년 8 월 8 일에 타이핑을 시작하고 입력 할 때 "날짜 형식 dd/mm/yyyy"라는 오류 메시지가 표시되면 필드 입력이 완료되면 필드 유효성 검사가 완료됩니다.

그러나 이상한 일이 또한 일어나고 있습니다. 2012 년 12 월 18 일과 같은 날짜를 입력하기 시작하면 내장 된 날짜 : 실제 유효성 검사 방법이 시작되어 기본 오류 "유효한 날짜를 입력하십시오."가 표시됩니다. (18 일 값이 유효성 검사 스크립트를 통과하지 못하기 때문에)

dateITA 추가 방법을 사용하는 경우 기본 날짜 방법이 필드의 유효성을 검사하고 거짓 음성을 제공하지 않도록하려면 어떻게해야합니까? 내 자신의 질문에 답변

답변

5

... 내가 클래스 = "날짜"를했다

가 자동으로 날짜 방법을 트리거 표시 (그냥 내 CSS의 경우) 필드에 할당.

+0

정확함 - jQuery Validate는 양식의 입력에 지정된 모든 클래스를 검사하고 유효성 검사 메소드가 존재하는 경우이를 설정합니다. 그래서'class = "required"는 예를 들어 잘 작동 할 것입니다. – Ryley

0
rules: { 
      DueDate: { 
       required: true, 
       date:false, 
       dateITA: true 
      } 
     }, 
관련 문제