4

사용자 입력의 유효성을 검사하기 위해 사용자 정의 유효성 검사를 추가해야합니다. 여기 내 사용 사례는 다음과 같습니다 나는이 같은 현지화, 선택 날짜에 대해 JQuery와 UI를 날짜 선택기를 사용하고 있습니다 :jquery datepicker 및 사용자 정의 유효성 검사

$.datepicker.setDefaults($.datepicker.regional[ currentLocale ]);

내가 bassistance 검증 플러그인을 사용하고 date:true 규칙을 사용하여 이러한 작동하지 않습니다 다른 형식 (또는 그들이 말하는 경우 나에게 말해줘!). 이

$.validator.addMethod("validDate", function(value) { 
     return parseDateString(value) != null; 
    }, jQuery.validator.messages.date); 

같은 그래서이 만든 내 자신의 날짜 확인 방법은 아주 잘 검증이 componet의 값 전에 해고 된 날짜 선택기에서 날짜를 선택할 때 사실을 제외하고이 모든 일이 변경됩니다! 그래서 나는 이전의 가치를 실제로 입증합니다 ....

누구에게도 해결책이 있습니까? 사전에 감사합니다 :) 당신은 검증 upon the user closing에게 datepicker 팝업을 게재 할 수

답변

8

: 즉시 특정 필드의 유효성을 검사 할 수 있도록합니다 validateelement() 기능을 사용

$("#birthdate").datepicker({ 
    onClose: function() { 
     /* Validate a specific element: */ 
     $("form").validate().element("#birthdate"); 
    } 
}); 

.

저는 here이라는 예를 만들었습니다. 올해는! = 2011 일 수있는 날짜는 유효성 검사 실패를 유발합니다.

+0

onClose 접근 방식을 사용하는 또 다른 방법은 동적 인 datepicker를 확인하는 것입니다. 페이지로드가 끝나고 datepicker가 첨부 된 입력 요소가 추가되면 유효성 검사 메시지가 약간 동기화되지 않습니다. 사용자가 날짜를 선택하지 않고 게시를 시도하면 메시지가 나타납니다. 이 시나리오에서 날짜를 선택하면 메시지가 제거되지 않습니다 (날짜를 두 번 선택하지 않은 경우). 'onClose : function() {$ (this) .valid();}'는 메시지가 제대로 동기화되도록합니다. –

+0

이 답변은 많은 도움이되었지만 이상한 발행물로 며칠 동안 붙어있었습니다. 사용자 지정 유효성 검사를 사용하는 두 개의 날짜 선택 도구가 있으며 위의 메서드는 훌륭하게 작동합니다. 그런 다음 JavaScript 함수를 통해 두 개 더 추가했으며 유효성 검사는 격주마다 실행되었습니다. 둘러보기 (http://bugs.jqueryui.com/ticket/7451), 내 onClose 이벤트에서 위의 예제와 일치하도록 변경되었습니다. $ ("form #birthdate ") .trigger ("blur "); 이제 작동합니다. –

관련 문제