required修改提示文字
input属性 required
required 属性
- required 属性规定必须在提交之前填写输入域(不能为空,以提交表单)。
- 除了 Internet Explorer 和 Safari,其他主流浏览器都支持 required 属性
- required 属性是一个布尔属性。
- required 属性是 HTML5 中的新属性。
- required 属性适用于以下类型的
<input>
标签:text, search, url, telephone, email, password, date pickers, number, checkbox, radio 以及 file。
语法
Name: <input type="text" type="text" name="usr_name" required="required" />
但是当我们想修改提示的文字怎么办,这要用到一个事件 oninvalid
oninvalid 事件
- 当提交
<input>
元素无效时,会发生oninvalid事件。例如,如果设置了required属性被设置并且字段为空,则输入字段无效(required属性指定在提交表单之前必须填写输入字段)。
如果输入字段无效,则提醒一些文本
当然这还不够,还得有自定义错误提示信息的方法
setCustomValidity()方法
- 设置 input 元素的 validationMessage 属性,用于自定义错误提示信息的方法。
- 注意:使用 setCustomValidity 设置了自定义提示后,validity.customError 就会变成true,则 checkValidity() 总是会返回false,导致无论重新输入的格式正确与否,都会提示设置好的错误信息。
<input type="text" type="text" required oninvalid="setCustomValidity('不能为空')"/>
- 解决办法:用obj.validity.patternMismatch判断,如果输入的格式正确,就将setCustomValidity 清空,使JavaScript重新判断validity.customError的值。
- 不仅仅可以配合 required,也可以配合正则及其他限制
<form action="地址" method="post">
<input id="input" type="text" name="" required oninvalid="setCustomValidity('不能为空')" />
<input type="submit" onclick="setMyText()"/>
</form>
<script>
function setMyText() {
var obj = document.getElementById("input");
if (obj.validity.patternMismatch === true) {
obj.setCustomValidity("有值的");
} else {
obj.setCustomValidity('');
}
}
</script>
本文来自博客园,作者:懒惰ing,转载请注明原文链接:https://www.cnblogs.com/landuo629/p/13540014.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?