javascript - 自定义浏览器的默认表单错误
问题描述
我有一个输入字段,用户可以通过它提交一些数据。但是如果字符长度小于 10 个字符,他/她就不能提交数据。
<input type='text' minlength='10' id='input_text' />
但如果用户尝试提交少于 10 个字符长的数据,则浏览器会显示错误。我试图通过这段代码自定义那个错误,
var data = document.getElementById("input_text");
data.addEventListener("input", function(event) {
if (data.validity.typeMismatch) {
data.setCustomValidity("Invalid Data.")
} else {
data.setCustomValidity("Your data is invalid.")
}
})
但是,问题是这段代码根本不允许用户提交数据。Your data is invalid
即使字符长度超过 10,它也会显示错误。
我们如何解决这个问题?
谢谢你 。. .
解决方案
根据您案例中的文档,您需要将代码更改为:
var data = document.getElementById("input_text");
data.addEventListener("input", function(event) {
if (data.validity.tooShort) { // test against min length
data.setCustomValidity("Invalid Data."); // add error...
} else {
data.setCustomValidity(""); // remove error....
}
})
<form>
<input type='text' minlength='10' id='input_text' />
<input type="submit" value="submit"/>
</form>
推荐阅读
- python - 在 Python 中使用 Keras 进行图像增强
- php - 数组中的 PHP if 语句
- java - 对象未定义 - dog2
- jquery - 当我动态地隐藏一些 tr 元素时,带有 Bootstrap 3 的表格
- python - 如何在 django 中操作数据模型并在前端呈现?
- snakemake - 如何在运行指令中访问通配符
- excel - VBA将Excel工作表另存为PDF在同一文件的目录中
- python - 遍历一长串字符串并从该原始列表构造新列表的最pythonic方法是什么?
- java - 休眠 - 列不能为空
- c# - 带有输入的 asp.net core razor 下拉列表