HTML5 表单验证失败的提示语问题


Posted in HTML / CSS onJuly 13, 2017

前言

前端的童鞋在写页面时, 都不可避免的总会踩到 表单验证 这个坑. 这时候, 我们就要跪了, 因为要写一堆 js 来检查. 但是自从 H5 出现后, 很多常见的 表达验证 , 它都已经帮我们实现了, 让我们减轻了很多负担, 就好像下面的:

邮箱地址验证:
 

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Test</title>
</head>
<body>
    <form action="">
        <label >
            邮箱: <input type="email">
        </label>
        <input type="submit">
    </form>
</body>
</html>

HTML5 表单验证失败的提示语问题

邮箱验证是 H5 自身支持的, 但是我们要验证的场景和情况是多种多样的, 那该怎么办? 用回 Js 吗? 很明显没这么蛋疼, 因为 H5 提供了 pattern 属性, 让我们自食其力! 我们可以在 pattern 指定正则表达式, 只要正则写的好, 验证就没烦恼!

正则限定11位数字:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Test</title>
</head>
<body>
    <form action="">
        <label >
            数字: <input type="text" pattern="^\d{11}$">
        </label>
        <input type="submit">
    </form>
</body>
</html>

HTML5 表单验证失败的提示语问题

问题

大家可以尝试下, 在输入非11位的数字, 都会报错, 这就是 pattern 的功劳. 但是不知道大家发现了一个蛋疼的现象没? 就是如果咱们使用 pattern 的方式去验证表单, 在验证失败时, 它的提示都是 请与所请求的格式保持一致 , 我的天, 我们的用户怎么知道所请求的格式是什么鬼, 总不能让他们去看源码吧, 要真这样, 我们连页面都不用写了, 直接让他们把钱给我们得了, 开个玩笑~

解决方案

有问题, 咱们就得解决, 在面向谷歌编程许久, 终于觅得一良方:

oninvalid:提交的input元素的值为无效值时(这里是正则验证失败),触发

oninvalid事件。oninvalid属于Form 事件。

setCustomValidity():这个是HTML5内置的JS方法,用来自定义提示信息

原来可以通过 oninvalid 和 setCustomValidity 来自定义提示, 那这就好办了, 修改源代码如下:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Test</title>
</head>
<body>
    <form action="">
        <label >
            数字: <input type="text" pattern="^\d{11}$" oninvalid="setCustomValidity('请输入11位数字')">
        </label>
        <input type="submit">
    </form>
</body>
</html>

结果:

HTML5 表单验证失败的提示语问题

终于不是那个蛋疼的"格式"了, 现在表单验证提示已经很明确的告诉我们, 这里应该输入的是什么样的数据, 这样用户就能更好的修改自己的输入了!

以上所述是小编给大家介绍的HTML5 表单验证失败的提示语问题,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

HTML / CSS 相关文章推荐
css3 自定义字体font-face使用介绍
May 14 HTML / CSS
CSS3绘制六边形的简单实现
Aug 25 HTML / CSS
利用CSS3实现平移动画效果示例代码
Oct 12 HTML / CSS
突破canvas语法限制 让他支持链式语法
Dec 24 HTML / CSS
html5的新玩法——语音搜索
Jan 03 HTML / CSS
HTML5中的Article和Section元素认识及使用
Mar 22 HTML / CSS
用HTML5制作视频拼图的教程
May 13 HTML / CSS
详解使用HTML5 Canvas创建动态粒子网格动画
Dec 14 HTML / CSS
使用phonegap进行提示操作的具体方法
Mar 30 HTML / CSS
使用Html5 Stream开发实时监控系统
Jun 02 HTML / CSS
HTTP中的Content-type详解
Jan 18 HTML / CSS
前端使用svg图片改色实现示例
Jul 23 HTML / CSS
HTML5地理定位_动力节点Java学院整理
Jul 12 #HTML / CSS
HTML5中input[type='date']自定义样式与日历校验功能的实现代码
Jul 11 #HTML / CSS
html5组织内容_动力节点Java学院整理
Jul 10 #HTML / CSS
html5页面结构_动力节点Java学院整理
Jul 10 #HTML / CSS
HTML5单页面手势滑屏切换原理分析
Jul 10 #HTML / CSS
HTML5中图片之间的缝隙完美解决方法
Jul 07 #HTML / CSS
html5是什么_动力节点Java学院整理
Jul 07 #HTML / CSS
You might like
php摘要生成函数(无乱码)
2012/02/04 PHP
PHP获取指定月份第一天和最后一天的方法
2015/07/18 PHP
PHP基于swoole多进程操作示例
2019/08/12 PHP
Windows服务器中PHP如何安装redis扩展
2019/09/27 PHP
javascript for循环设法提高性能
2010/02/24 Javascript
JS基础之undefined与null的区别分析
2011/08/08 Javascript
JavaScript高级程序设计 学习笔记 js高级技巧
2011/09/20 Javascript
利用js的Node遍历找到repeater的一个字段实例介绍
2013/04/25 Javascript
告诉你什么是javascript的回调函数
2014/09/04 Javascript
jQuery实现自动切换播放的经典滑动门效果
2015/09/12 Javascript
jQuery-1.9.1源码分析系列(十一)DOM操作续之克隆节点
2015/12/01 Javascript
JavaScript中将数组进行合并的基本方法讲解
2016/03/07 Javascript
JS留言功能的简单实现案例(推荐)
2016/06/23 Javascript
再谈Javascript中的异步以及如何异步
2016/08/19 Javascript
详解利用exif.js解决ios手机上传竖拍照片旋转90度问题
2016/11/04 Javascript
nodejs处理图片的中间件node-images详解
2017/05/08 NodeJs
微信小程序基于本地缓存实现点赞功能的方法
2017/12/18 Javascript
Java设计中的Builder模式的介绍
2018/03/22 Javascript
解决淘宝cnpm 安装后cnpm不是内部或外部命令的问题
2018/05/17 Javascript
命令行批量截图Node脚本示例代码
2019/01/25 Javascript
javascript系统时间设置操作示例
2019/06/17 Javascript
Vue-CLI与Vuex使用方法实例分析
2020/01/06 Javascript
uniapp与webview之间的相互传值的实现
2020/06/29 Javascript
Vue使用screenfull实现全屏效果
2020/09/17 Javascript
Python编程之基于概率论的分类方法:朴素贝叶斯
2017/11/11 Python
python os模块简单应用示例
2019/05/23 Python
CSS3 三维变形实现立体方块特效源码
2016/12/15 HTML / CSS
HTML5 Canvas API中drawImage()方法的使用实例
2016/03/25 HTML / CSS
东南亚冒险旅行与活动:Adventoro
2019/10/16 全球购物
Linux中如何设置Java环境变量(Ubuntu)
2016/07/24 面试题
东方红海科技面试题软件测试方面
2012/02/08 面试题
普通党员个人对照检查材料
2014/09/18 职场文书
2015年教师业务工作总结
2015/05/26 职场文书
实用求职信模板范文
2019/05/13 职场文书
自定义函数实现单词排序并运用于PostgreSQL(实现代码)
2021/04/22 PostgreSQL
详解CSS故障艺术
2021/05/25 HTML / CSS