我在这样的表单中有一个字段:
<input type="text" minlength="20" name="description" id="description" />
输入时,minlength
验证效果很好。但是,如果以编程方式设置输入的值,则不会触发验证。
var field = document.querySelector("#description");
// type a couple of character into the field
field.validity.tooShort;
// true
field.value = '';
field.validity.tooShort;
// false
有解决办法吗?还是有计划的修复?我用错了吗?
最佳答案
今天偶然发现了这个问题,您可以使用 pattern
验证来解决它:
<input type="text" pattern="^.{20,}$" name="description" id="description" />
JS:
var field = document.querySelector("#description");
field.value = 'too short';
field.validity.patternMismatch;
// true
field.value = 'very very very very very very long';
field.validity.patternMismatch;
// false
关于html - 当以编程方式设置字段时,如何触发最小长度验证?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47417563/