2012-10-11 7 views
1

내 클라이언트는 특정 유효성 검사 플러그인 (valid8)을 사용해야합니다.이 플러그인은 포커스가있는 경우에만 인라인 유효성 검사를 수행합니다. 플러그인에 관한 문서는 매우 약하다. 그래서 나는 다른 누군가가이 특정 플러그인에 대한 경험을 갖고 있으며 그들이 나를 도울 수 있기를 바라고있다.Valid8 jquery plugin : 종속 필드 유효성 검사?

사용자가 선호하는 연락 방법을 지정해야하는 연락처 양식입니다. 이메일을 지정할 경우 이메일 입력 필드의 유효성을 검사해야합니다. 그들이 전화를 지정한 경우 전화 입력 필드의 유효성을 검사해야합니다. 선택한 라디오를 기반으로 유효성 검사를 선택적으로 추가 할 수 있지만 사용자가 양식을 제출하기 전에 연락처 환경 설정을 변경하면 유효성 검사를 제거 할 수 없습니다.

필드에서 valid8 유효성 검사를 제거하는 방법이이 플러그인을 사용하여 추가 된 후에도 가능합니까? 나는 .unbind (valid8)를 시도했지만 unbind는 이벤트를위한 것이고 valid8은 이벤트가 아니기 때문에 작동하지 않는다. 수동으로 모든 이벤트를 바인딩 해제하고 필드에서 추가 마크 업을 제거해야합니까?

편집 : http://jsfiddle.net/sjc8611/5d3CT/

답변

1

시도 할 수 있도록 임의의 데이터 settings에 저장되어 나는이 플러그인을 사용하지 않은 그러나 소스보고는 #element에 대한 검증에 대한 정보를 보인다

$('#element').data('settings', null); 

그리고 그것이하는 것을 보아라. 그래도 오류가 발생할 수 있으며이하는 경우 당신은 또한 그것을 관련된 이벤트를 제거 할 수 있습니다

$('#element').unbind(); 

그러나이 의지 :

keyup 
blur 
click (for checkbox) 

당신은 단지 하나의이 같은 명령으로 할 수 있습니다 해당 요소에 대한 모든 이벤트를 제거하고 다시 문제가 발생할 수 있으므로 위 목록을 제공하여 필요에 따라 하나씩 제거 할 수 있습니다.

이것은 사용하지 않고도 말할 수있는만큼 많이 사용합니다. 작동하지 않는다면 온라인에서 예제를 게시해야합니다 (prefferably on jsFiddle). 그래서 살펴볼 수 있습니다. 다른 모든 것이 실패하면 플러그인 작성자에게 전자 메일을 보낼 수 있습니다.

+0

http://jsfiddle.net/sjc8611/5d3CT/ 마을로 이동합니다. 나는 바인딩을 시도하고 null로 설정을 설정합니다. 나는 곧 그것을 이해하지 못한다면 나는 단지 자신의 검증 스크립트를 작성하려고한다. 실제로 사용자의 요구를 충족시키지 않는 플러그인을 사용할 때의 요점은 무엇입니까? * 한숨 * –

+0

http://jsfiddle.net/sjc8611/5d3CT/3/ 모든 이벤트와 데이터를 제거하고, 컨테이너에서 요소를 분리하고, 컨테이너에서 클래스를 지우고, 컨테이너를 비운 다음 다시 읽습니다. 요소. 이것은 나에게 잔인한 것처럼 보이지만 원하는 기능을 얻었습니다. 제안 해 주셔서 감사합니다! –

1

당신은 항상 true 반환하는 함수에 대한 검증을 설정할 수 있습니다 :

$("#element").valid8({ 
    jsFunctions: [{ 
     function: alwaysTrue, values: function() { return true; } 
    }] 
}); 
+0

당신의 제안을 시도했습니다. 요소에 대해 이전에 설정된 내용을 덮어 쓰는 것처럼 보이지는 않습니다. http://jsfiddle.net/sjc8611/5XrSZ/ 잘못 구현 했습니까? –