【发布时间】:2021-07-14 23:17:02
【问题描述】:
我创建了一个带验证的输入控件:
- 需要
- 最小长度 = 4
- 最大长度 = 8
输入的初始值设置为'ab'。
由于'ab' 不满足验证,:invalid 选择器应该可以工作。
但在第一次加载时(未经用户编辑),:invalid 不起作用。
有什么方法可以一直强制验证吗?
<input type='text' id='test' value='ab' required minlength=4 maxlength=8 />
#test:valid {
background: lightGreen;
}
#test:invalid {
background: pink;
}
【问题讨论】:
-
您可以在页面加载时使用
input.checkValidity()或form.checkValidation()触发验证 -
input.checkValidity()不起作用,除非我修改文本并设置回'ab'然后调用checkValidity() -
所以您想在每个输入上监听
change事件并触发自身验证? -
如果输入未被用户修改,则 checkValidity() 始终有效
标签: html css validation