evo*_*box 3 javascript validation
我可能会接近这个错误的方式,但我很困惑如何提取信息input
的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
Run Code Online (Sandbox Code Playgroud)
<input type="text" id="myinput" required>
Run Code Online (Sandbox Code Playgroud)
我的主要问题是,如果我无法迭代validityState
对象,如何找出哪个属性"失败" ?
我错过了什么吗?
不要用Object.keys()
.您可以像这样简单地迭代您的有效状态:
var input = document.querySelector('#myinput');
var validity = input.validity;
for(var key in validity){
console.log(key + ": " + validity[key]);
}
Run Code Online (Sandbox Code Playgroud)
<input type="text" id="myinput" required>
Run Code Online (Sandbox Code Playgroud)
编辑:
Object.keys()
仅引用当前Object中的键,并且不查看此Object的原型.请注意,进行相同的测试object.hasOwnProperty()
in
返回true
如果该属性是存在于当前对象 或如果该属性是存在于原型