0

我正在使用 posAbsolute 的 jQuery 验证引擎,我遇到了一个我无法解决的问题。在验证引擎插件中,每个字段默认验证 onBlur。我的场景是一个密码输入字段,必须在其中输入至少四个字符,然后表单才能在单击提交时对其进行验证。现在,如果我输入的字符少于 4 个,然后单击离开,则错误 div 会出现在输入字段上方,但是,我希望在用户返回并键入至少 4 个字符时隐藏错误 div,否则会保留。

这是我的代码:

<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 验证的问题。

4

1 回答 1

0

经过一番摸索,我找到了解决方案。将 plugin.js 文件中的 'blur' 替换为 'keyup'。

// 泄漏全局选项 $.validationEngine= {fieldIdCounter: 0,defaults:{

    // 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,
于 2013-05-22T10:13:25.347 回答