javascript - 在欧芹无效后将字段更改回有效

标签 javascript jquery css parsley.js

我有以下自定义验证器。预期目的是 根据传递的字段值验证字段 作为“要求”。

'requirement' 字段在 FieldToBeValidated 发生变化时更新。 为了防止 FieldToBeValidated 不断失效, keyup 已关闭。

一旦“requirement”字段被改变,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;
},

最佳答案

您可以使用两种方法从特定字段远程验证。检查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>

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

$(document).ready(function() {
    $("form").parsley();
    
    $("#reset-validation").on('click', function() {        
        $("input[name=field1]").parsley().destroy();
        
        $("input[name=field1]").parsley();
        
    });
});
<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>

关于javascript - 在欧芹无效后将字段更改回有效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30652598/

相关文章:

javascript - 字符串异或加密因某些 key 而失败

javascript - Javascript INFINITY 属性

jquery mobile 和 Jquery Jplayer 冲突

php - jquery更新div背景元素

php - 将 wordpress 帖子 ID 添加到 div

jquery - 如何在每次具有随机数 li 的无序列表的元素之间显示一条线

javascript - css/div - 定位 div 的顶部、左侧、右侧、底部和中心,仅填充 _visible_ 页面

javascript - 如何在子div中插入数据?

php - XML AJAX 响应开头有奇怪的字符?

javascript - 无法使用 jquery 选择器访问输入