在欧芹失效后将字段更改回有效

时间:2015-06-04 19:33:30

标签: javascript jquery css parsley.js

我有以下自定义验证器。预期目的是 根据传递的字段的值来验证字段 在as'要求'。

&#39>要求'字段更新FieldToBeValidated的更改。 为了防止FieldToBeValidated一直无效, keyup已关闭。

一旦符合要求'字段已更改,FieldToBeValidated不是 在表单提交之前进行验证。因此,该字段保持红色,并带有欧芹适用的警告框。

如何更改' FieldToBeValidated'在'要求之后回到有效状态(删除红色背景)字段更新不为空或' ----'?

 name: 'customvalidatorname',
 fn: function(value, requirement) {
   var nodeList = document.getElementsByName(requirement);

   var nodeArray = [].slice.call(nodeList);
   $('#FieldToBeValidated').off('keyup');
   if(!nodeArray[0].value || nodeArray[0].value === '----'){              
        return false;
   }
   return true;
},

1 个答案:

答案 0 :(得分:8)

有两种方法可用于从特定字段远程验证。检查official documentation(参见方法部分)。

您可以在该特定字段中使用reset()



$(document).ready(function() {
    $("form").parsley();
    
    $("#reset-validation").on('click', function() {
        $("input[name=field1]").parsley().reset();
        
    });
});

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/parsley.js/2.0.7/parsley.min.js"></script>

<form>
    <input type="text" name="field1" required />
    <input type="submit" />
    
    <button id="reset-validation" type="button">Reset validation</button>
</form>
&#13;
&#13;
&#13;

或者您可以使用destroy()方法:

&#13;
&#13;
$(document).ready(function() {
    $("form").parsley();
    
    $("#reset-validation").on('click', function() {        
        $("input[name=field1]").parsley().destroy();
        
        $("input[name=field1]").parsley();
        
    });
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/parsley.js/2.0.7/parsley.min.js"></script>

<form>
  <input type="text" name="field1" required />
  <input type="submit" />

  <button id="reset-validation" type="button">Reset validation</button>
</form>
&#13;
&#13;
&#13;