在validityState中搜索值

时间:2016-10-25 11:17:28

标签: javascript validation

我可能会以错误的方式接近这一点,但我很困惑如何从input的{​​{1}}对象中提取信息。

validityState
var input = document.querySelector('#myinput');
var validity = input.validity;
var keys = Object.keys(validity);

console.log( validity );          // [ object validityState ]
console.log( validity.valid );    // false (this is expected)

console.log( keys )               // empty array
console.log( keys.length )        // 0

我的主要问题是,如果我无法迭代<input type="text" id="myinput" required>对象,如何找出哪个属性“失败”?

我错过了什么吗?

1 个答案:

答案 0 :(得分:5)

请勿使用Object.keys()。 您可以像这样简单地迭代您的有效状态:

&#13;
&#13;
var input = document.querySelector('#myinput');
var validity = input.validity;
for(var key in validity){
     console.log(key + ": " + validity[key]);
}
&#13;
<input type="text" id="myinput" required>
&#13;
&#13;
&#13;

修改

  • Object.keys()仅引用当前对象中的键,但未查看此对象的原型 。请注意,object.hasOwnProperty()执行相同的测试

  • in如果该属性出现在当前对象 中,如果该属性存在于true >原型