html - 自定义有效性输入框html
问题描述
我正在尝试使用具有两个条件的输入类型文本框创建一个表单。
1)验证空字段。
2 ) 不允许有空格。
我添加了模式,空框时一切正常,它说请填写空字段,当用户在用户名中输入空格时,它说请匹配请求的格式,但问题是我正在尝试替换默认请匹配不允许使用空格请求的格式。但我无法在任何地方找到任何解决方案。
我的代码如下:
<form method="post">
<input type="text" name="username" pattern="\S+" required >
</form>
解决方案
您需要添加客户端代码来支持您想要使用 setCustomValidity 执行的操作,并检查它找到的值。像这样:
var elements = document.getElementsByTagName("INPUT");
for (var i = 0; i < elements.length; i++) {
elements[i].oninvalid = function(e) {
e.target.setCustomValidity("");
if (!e.target.validity.valid) {
if ( e.target.value.match(/[\s\t]+/i) ) {
e.target.setCustomValidity("White space not allowed");
} else {
e.target.setCustomValidity("This field cannot be left blank");
}
}
};
elements[i].oninput = function(e) {
e.target.setCustomValidity("");
};
}
推荐阅读
- crystal-reports - 当页脚本身时重复页眉
- android - React Native 应用内购买 Android
- scala - Spark 发送 DataFrame 作为 HTTP Post 请求的正文
- android - 有没有办法用 React Native 应用程序更新原生 Android 应用程序而无需重新安装?
- tensorflow - 如何在 Tensorflow 字符串张量上执行字符串查找和替换?
- python - 使用 format() 函数调用类中的变量
- r - 用于取消合并行条目的正则表达式
- react-virtualized - 反应虚拟化表更改选定的行颜色
- xml - XML 中的 if-else 语句
- php - 从外部文件调用刀片中的变量