2013-01-31 2 views
0

로 설정되지 비록 빈 검증 :jQuery를 ValidationEngine 나는 필드가 필요한

<input type="text" id="AlternateEmailaddress" name="AlternateEmailaddress" 
     value="" class="validate[custom[email],maxSize[50]] input25" 
     parent_tab="tab2"> 

이 사용자 정의 이메일 유효성 검사 규칙입니다 :

필요하지 않은
"email": { 
    // Shamelessly lifted from Scott Gonzalez via the Bassistance Validation plugin http://projects.scottsplayground.com/email_address_validation/ 
    "regex": /^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?$/i, 
    "alertText": "* Invalid email address" 
}, 

은, 그러나, 메일 규칙 가져가 트리거 됨.

같은 페이지에 비밀번호와 비밀번호 입력란이 있으며 필수 사항은 아니며 비밀번호도 확인됩니다.

이 필드가 필요하지 않으면 어떻게해야합니까? 문제의

jsFiddle 데모 : http://jsfiddle.net/3Pge2/8/

+0

당신이 지정한 유효성 검사 규칙을 게시 할 수 있습니다 : 바이올린 업데이트

$("#AlternateEmailaddress").change(function() { if($("#AlternateEmailaddress").val().trim() != "") { $("#AlternateEmailaddress").addClass("validate[custom[email],maxSize[50]]") $("#my_info").validationEngine('validate'); } else { $("#AlternateEmailaddress").removeClass("validate[custom[email],maxSize[50]]") } }); 

답변

0

나는 해결 방법을 가지고있다. 나는 유효성 검사 규칙을 즉시 할당하고 값이 비어 있으면 제거합니다. 테스트를 거쳐 작동합니다. http://jsfiddle.net/3Pge2/10/

관련 문제