html - html css 有效性在 maxlength 上失败
问题描述
我正在玩这个https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/text#Validation在页面最初加载时提交表单之前, 他们会验证所需的输入值。
我怎样才能做完全相同的事情,但输入值的最大长度具有应该失效的初始数据?
. CSS
div {
margin-bottom: 10px;
position: relative;
}
input + span {
padding-right: 130px;
}
input:invalid+span:after {
position: absolute; content: '✖';
padding-left: 5px;
background:red;
}
input:valid+span:after {
position: absolute;
content: '✓';
padding-left: 5px;
}
html
<form novalidate>
<div>
<label for="uname">Has No Value: </label>
<input type="text" id="name1" value='' name="name1" required>
<span class="validity"></span>
</div>
<div>
<label for="uname">Has Value: </label>
<input type="text" id="name2" value='hello' name="name2" required>
<span class="validity"></span>
</div>
<div>
<label for="uname">Value is too long: </label>
<input type="text" id="uname3" value='abcdefghijk' name="name3"
maxlength=5>
<span class="validity"></span>
</div>
<div>
<button>Submit</button>
</div>
</form>
解决方案
您还可以使用该pattern
属性。该pattern
属性检查输入的值是否满足 RegExp 中规定的条件。
div {
margin-bottom: 10px;
position: relative;
}
input + span {
padding-right: 130px;
}
input:invalid+span:after {
position: absolute; content: '✖';
padding-left: 5px;
background:red;
}
input:valid+span:after {
position: absolute;
content: '✓';
padding-left: 5px;
}
<!--
https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/text
-->
<form novalidate>
<div>
<label for="uname">Has No Value: </label>
<input type="text" id="name1" value='' name="name1" required>
<span class="validity"></span>
</div>
<div>
<label for="uname">Has Value: </label>
<input type="text" id="name2" value='hello' name="name2" required>
<span class="validity"></span>
</div>
<div>
<label for="uname">Value is too long: </label>
<input type="text" id="uname3" value='abcdefghijk' name="name3"
pattern='.{0,6}' maxlength='6'>
<span class="validity"></span>
</div>
<div>
<button>Submit</button>
</div>
</form>
推荐阅读
- java - 如何使用 Java FXGL 创建三角形
- javascript - 如何使用 javascript 删除 CSS 类属性?
- node.js - Heroku 部署失败,出现“错误代码=H10”:Vue.js + NodeJS 应用
- java - 实例化方法的调度对象
失败的 - content-security-policy - 由于内容安全政策,Adsense 有时不会投放广告
- asp.net-web-api - Asp.net WebApi (MVC 5) 从客户端检测到潜在危险的 Request.QueryString 值
- isabelle - 如何找到“证明”命令选择的证明方法
- javascript - Ajax 调用后如何使 JsonDataSourceVariable 工作?
- php - Laravel - 检查数据透视表上值的所有关系实例
- java - 如何将时间戳日期格式转换为 dd/mm/yyyy?