如何检查 javascript 中的元素是否存在验证规则
How to check if a validation rule exists on an element in javascript
我需要在日期选择器上添加自定义验证,就像我们通过在 javascript 中添加规则来添加自定义验证一样,就像这里的规则一样 - jQuery Validate Plugin - How to create a simple custom rule?
但在为同一元素添加另一个自定义验证器之前,我需要验证是否存在另一个 rule/validator 方法。
我该如何检查?我知道我可以获得所有规则,例如 -
var rules = $(element).rules();
初始化验证插件后,所有定义了规则的元素在您对其调用rules()
时将return一个对象。该对象包含您可以检查的规则定义,如下所示:
$('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>
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');
}
我需要在日期选择器上添加自定义验证,就像我们通过在 javascript 中添加规则来添加自定义验证一样,就像这里的规则一样 - jQuery Validate Plugin - How to create a simple custom rule?
但在为同一元素添加另一个自定义验证器之前,我需要验证是否存在另一个 rule/validator 方法。
我该如何检查?我知道我可以获得所有规则,例如 -
var rules = $(element).rules();
初始化验证插件后,所有定义了规则的元素在您对其调用rules()
时将return一个对象。该对象包含您可以检查的规则定义,如下所示:
$('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>
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');
}