2013-05-20 7 views
0

나는 posAbsolute에 의해 jQuery 유효성 검사 엔진을 사용하고 있으며 문제를 발견했습니다. 유효성 검사 엔진 플러그인에서 각 필드는 기본적으로 onBlur의 유효성을 검사합니다. 내가 가진 시나리오는 양식을 제출할 때 폼의 유효성을 검사하기 전에 적어도 4 자 이상 입력해야하는 비밀번호 입력 필드입니다. 지금은 4 문자 미만을 입력하고 멀리 클릭하면 입력란 위에 오류 div가 표시되지만 사용자가 돌아 왔을 때 오류 div를 숨기고 4 자 이상의 문자를 입력해야합니다.onKeyup()을 사용하여 입력 길이를 기반으로 필드 유효성 검사 - posAbsolute에 의한 Jquery 폼 유효성 검사 엔진

<div class="register-form span5">  
<form method="post" form id="formID" class="formular form-horizontal" action="/account/registerguest"> 
<div class="row-fluid"> 
<fieldset class="span4">  
<label for="password">Password:</label> 
<input data-validation-engine="validate[required,custom[password]]" placeholder="Password" type="password" name="password" id="password" value="" /> 
</fieldset> 
</div> 
</form> 
</div> 

그리고 JQuery와 :

(function($){ 
$.fn.validationEngineLanguage = function(){ 
}; 
$.validationEngineLanguage = { 
    newLang: function(){ 
     $.validationEngineLanguage.allRules = { 
      "required": { 
       "regex": "none", 
       // "alertText": "* This field is required",     
      },      

      "password": { 
       "regex": /(?=^.{4,}$)/, 
       "alertText": "*Enter at least 4 characters" 
      },    

     }; 

    } 
}; 

$.validationEngineLanguage.newLang();  
})(jQuery); 

    $("#formID").validationEngine(); 

function checkHELLO(field, rules, i, options){ 
    if (field.val() != "HELLO") { 
     // this allows to use i18 for the error msgs 
     return options.allrules; 
    } 
} 

그리고 물론 검증 엔진 : https://github.com/posabsolute/jQuery-Validation-Engine

내가이에 관한 도움을 매우 감사 할 것입니다 여기에

내 코드입니다 . 나는 충분한 정보를 주었으면 좋겠다. 지금까지 어디서나 onKeyup으로이 플러그인의 onBlur 유효성 검사를 대체하는 문제를 발견하지 못했습니다.

답변

0

조금 더 파고 들자 해결책을 찾았습니다. plugin.js 파일의 'blur'를 'keyup'으로 바꿉니다.

// LEAK 전역 옵션 $ .validationEngine = {fieldIdCounter : 0, 기본값 : {

// Name of the event triggering field validation 
    validationEventTrigger: "keyup", 
    // Automatically scroll viewport to the first error 
    scroll: false, 
    // Focus on the first input 
    focusFirstField:true, 
    // Show prompts, set to false to disable prompts 
    showPrompts: true,