HTML5中将中文表单验证默认提示语句改为英文!
js代码:
function checkEmail(){var email=document.getElementById("eject_email");if(email.value){email.setCustomValidity("");}else if(email.validity.valueMissing){email.setCustomValidity("E-mail can not be empty!");return false;};if(email.validity.typeMismatch){email.setCustomValidity("The email format you entered is incorrect, please re-enter!");return false;}}var btn=document.getElementById("eject_btn");btn.onclick = function(){if(checkEmail()){return false;}return true;}
form代码:
<form action="#" method="post"><label>Email ADDRESS *</label><input name="email" id="eject_email" required type="email" placeholder="Please enter your email address, we will send you a quotation and customized plan according to your needs"><button type="submit" id="eject_btn">SUBMINTS</button></form>
参考资料:
HTML5中针对表单新增的验证属性如required、pattern以及一些特定input类型,当验证不通过时,都有默认的提示语句,但实践中发现并不怎么友好,因此,需要自定义提示语句,使用setCustomValidity()。在此之前,需要介绍一下表单的validityState对象。
HTML5表单新增的属性中有一个validity属性,通过该属性可以获得一个validityState的对象,而validityState对象针对表单的几个错误验证又提供了8个属性:
- valueMissing
必填项为空,返回true,否则返回false,配合required属性使用 - typeMismatch
判断输入类型是否匹配,不匹配返回true,否则返回false,配合email、number、url等类型使用 - patternMismatch
判断正则是否通过,没通过返回true,通过返回false,配合pattern属性使用 - toolong
判断当前元素的值的长度是否大最大值,大于返回true,否则返回false,配合maxlength使用,但实际上如果设置maxlength,就无法输入超出长度范围的值 - rangeUnderflow
判断当前元素值是否小于min,与min属性配合,不与max比较 - rangeOverflow
判断当前元素值是否大于max,与max属性配合,不与min比较 - stepMismatch
判断当前元素值是否符合step要求,与step属性配合 - customError
使用自定义的验证错误提示信息,配合setCustomValidity()方法使用;
如果使用了setCustomValidity()方法,customError属性返回true,那么当输入正确时,不能使用上述的任何一种属性验证输入是否正确,所有的验证都返回false,表单的验证逻辑将会出现bug。因此,在自定义错误提示信息时,需要首先使用input.value判断输入是否为空,如果不是空值,调用input.setCustomValidity(“”)将提示信息设为空,从而屏蔽输入正确时出现的验证逻辑错误,之后再设置自定义错误提示语,示例:的v反对
<!DOCTYPE html>
<html>
<head><meta charset="UTF-8"/><title> New Document </title>
</head>
<body><form action="#"><input id="user" type="text" required pattern="^[a-zA-Z0-9]{6,12}$" placeholder="请输入用户名"/><input type="submit" id="btn" value="提交"></form>
</body>
<script>function checkUser(){var user=document.getElementById("user");if(user.value){user.setCustomValidity("");//现将有输入时的提示设置为空}else if(user.validity.valueMissing){user.setCustomValidity("用户名不能为空"); return false;};if(user.validity.patternMismatch){ user.setCustomValidity("用户名只能是英文或数字,长度6到12位");return false;}}var btn=document.getElementById("btn");btn.onclick = function(){//checkUser();if(checkUser()){return false;}return true;}</script>
</html>
参考网址:HTML5中修改表单验证默认提示语句而valid
HTML5中将中文表单验证默认提示语句改为英文!相关推荐
- selenium定位H5表单验证的提示语
selenium定位H5表单验证的提示语 前端代码,1.html <!DOCTYPE html> <html lang="en"> <head> ...
- html5自带表单验证-美化改造
神奇的代码 暂且叫做html5.css /* === HTML5 validation styles === */ .myform select:required, .myform input:req ...
- jQuery表单验证气泡提示插件
下载地址 表单验证jQuery插件提示用验证元素右侧气泡的形式,很容易使用和灵活的结构也很实用. dd:
- HTML5表单验证required提示的中文设置为英文
默认提示是"请输入此字段" 只需要在后面加 上 oninvalid="setCustomValidity('Please enter your message!');&q ...
- 表单验证失败提示方案(自用)
方案 动态计算定位,fixed于失败项附近,并定时消失,多个提示一同显示. 遇到问题 当表单处于dialog中,并且表单高度大于dialog高度,验证失败项又刚好在被overflow隐藏的部分,需要对 ...
- element ui 表单验证残留提示处理
问题:如果vue的同一个页面拥有两个表单.验证第一个表单时没有通过就切换到第二个,那么第二个表单会出现验证错误的信息 点击编辑框 解决方法:添加表单重置验证 我们可以通过为两个表单添加ref属性 之后 ...
- jQuery html5Validate基于HTML5表单验证插件
更新于2016-02-25 前面提到的新版目前线上已经可以访问: http://mp.gtimg.cn/old_mp/assets/js/common/ui/Validate.js demo体验狠狠地 ...
- HTML5自定义表单验证错误提示信息
有如下HTML结构: <form action="ok.html"><input type="text" pattern="\d{1 ...
- html表单验证案例,HTML5表单验证(4个实用的表单美化案例)
multipart/form-data 在使用包含文件上传控件的表单时,必须使用 autocomplete="on" 自动补全功能 novalidate 不验证 placehold ...
最新文章
- 厉害了!LeetCode 解题笔记终于在GitHub开源了!
- 连接web端,mysql,返回乱码解决
- 《HBase权威指南》一导读
- 大数据服务社会的一个有益实践
- 安卓手机备份_安卓手机数据备份与恢复方法汇总和操作详解
- 用Android打出马奔跑的动画,一款非常好用的动画库Lottie
- 语音的基本概念--译自CMU sphinx
- 14_python基础—匿名函数lambda表达式
- CSS布局口诀 - CSS BUG顺口溜
- 在tomcat服务器部署finereport
- cisco学习笔记(2)
- lock.lock()使用,与synchronized对比
- Vuex之state和getters
- 明华读卡器 循环读卡 初始卡号
- 利用uniapp实现手机摇一摇H5项目
- win7不用破解工具,最简单的去黑屏办法
- POJ3737UmBasketella
- React-Native 高仿“掘金”App 注册和登录界面
- 怎么做到ERP基础数据快速简单管理
- Linux RCU锁简析
热门文章
- 【报告分享】 嘀嗒出行:2014-2020中国顺风车行业发展蓝皮书(附下载)
- 通过qt修改图片dpi志
- HDLBits-Modules 题解【Verilog模块例化】(中文翻译+英文原文,可顺带学习英文)
- 如何使用计算机闹铃,梦畅电脑闹钟怎么用 梦畅电脑闹钟使用教程
- CAD怎么批量打印图纸?如何快速打印批量CAD图纸?
- mysql 关键字错误_误用MySQL关键字导致的错误
- 全球及中国户外餐具行业竞争格局及发展前景规模预测报告2021-2027年版
- 使用springboot对linux进行操控
- python 3.5 安装pip
- 【cpu处理器分析】【AP】【bp】【cp】