繁体   English   中英

如何检查JavaScript中的元素上是否存在验证规则

[英]How to check if a validation rule exists on an element in javascript

我需要在datepicker上添加自定义验证,就像我们通过在javascript中添加规则(例如此处的jQuery验证插件)如何添加简单的自定义规则来添加自定义验证一样

但是在同一元素上添加一个自定义验证器之前,我需要验证是否存在另一个规则/验证器方法。

我该如何检查? 我知道我可以获得所有规则,例如-

var rules = $(element).rules();

规则是一种字典类型,可以通过以下方式获取-

function findProperty(obj, key) {
    if (typeof obj === "object") {
        if (key in obj) {
            return true;
        } else {
            return false;
        }
    }
    return false;
}

var rules = $(element).rules();
if (rules) {
    var isGreater = findProperty(rules, 'greaterthandate');
}

初始化validate插件后,所有定义了规则的元素都将在您对其上调用rules()时返回一个对象。 该对象包含规则定义(可以检查),如下所示:

 $('form').validate() var fooRequired = $('#foo').rules().required || false; var barRequired = $('#bar').rules().required || false; console.log('foo required? ' + fooRequired); console.log('bar required? ' + barRequired) 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-validate/1.17.0/jquery.validate.js"></script> <form> <input type="text" name="foo" id="foo" data-rule-required="true" /> <input type="text" name="bar" id="bar" /> <button type="submit">Go</button> </form> 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM