HTML5内置表单验证 Build-in Form Validation
来源:互联网 发布:源码生成器 编辑:程序博客网 时间:2024/06/06 12:21
HTML5表单的内置验证功能,可以通过required, pattern属性添加限制,用type="email"或"url"进行格式限制,在提交时自动进行验证病给出提示信息。也可以自定手动验证,显示自定义信息等。
1.通过input元素的属性指定限制
1)required (无值): e.g.<input type="text" required>指定该项为一个必填项
2)minlength="m" 以及maxlength="n": e.g. <input type="text" minlength="3" maxlength="8" />:指定该项字符长度要求。
3)min以及max: e.g. <inputtype="number" min="1"max="10">:用于type为number的输入项,指定最小值和最大值.
4)pattern="regex": e.g.<input type="text" pattern="[^0-9a-f]" required/>指定一个正则表达式作为验证条件
...
当指定type="email"或type="url"时,在提交时html5会按照email或url的格式验证,不需要正则表达式。
2.通过 ':valid' and ':invalid'伪类自定义样式
给定以上限制后,:valid将匹配合法输入项,:invalid匹配不合法输入项
<style>input:invalid { /* an invalid element matches the :invalid pseudo-class*/border: 2px solid red;}input:valid { /* a valid element matches the :valid pseudo-class*/border: 2px solid green;}</style>
3.使用.checkValidity()手动触发验证
除了在点击submit时自动验证,input, form元素拥有checkValidity()方法,可以在想要的时候手动验证
<input type="email" id="mancheck" /><script>var mancheck = document.querySelector("#mancheck");mancheck.onblur = () => { // 例如在输入焦点离开时进行验证mancheck.checkValidity();if(mancheck.validationMessage) {alert(mancheck.validationMessage); // 验证结果信息在元素的validationMessage属性中}}</script>
FormElement的checkValidity()方法将验证它所包含的所有input项。
5.自定义验证信息setCustomValidity(message)
读取验证信息通过elm.validationMessage,html5已经提供了详细的错误信息, 覆盖原来的内置信息需要通过elm.setCustomValidity(message).
<input type="email" id="cusmsg" /><script>var cusmsg= document.querySelector("#cusmsg");cusmsg.onblur= () => { cusmsg.checkValidity(); if(cusmsg.validity.typeMismatch) { cusmsg.setCustomValidity('Custom message: Email is invalid'); alert(cusmsg.validationMessage); }}; </script>
当使用setCustomValidity后,当前input元素即被设为invalid状态。
6.elem.validity包含具体的验证结果
自定义invalid显示信息或其他行为时,可以从validity属性读取具体的invalid类型:
- HTML5内置表单验证 Build-in Form Validation
- AngularJS form validation-表单验证
- Spring Form Validation(表单验证)
- Form表单验证用户名jQuery-Validation-Engine
- ExtJS 的表单验证机制(Form Validation)
- ExtJS 的表单验证机制(Form Validation)
- Struts2 官方教程:表单验证(Form Validation)
- HTML5 - Form validation
- bootstrap3-validation表单验证
- 表单验证- jQuery+Validation
- 表单验证- jQuery+Validation
- bootstrap3-validation表单验证
- 表单验证 -- Validation
- Validation表单验证插件
- 手机号验证,为jquery-validation添加自定义验证方式,以及Ajax提交form表单
- Better form validation in Flex
- Spring MVC快速教程:表单验证 Spring MVC Fast Tutorial: Form Validation
- Struts2 官方教程:使用XML进行表单验证(Form Validation Using XML)
- Shell 实践 Examples
- 中序线索化二叉树
- SSM---逆向工程的使用
- 图像语义分割之FCN和CRF
- 关于jQuery回调数据错误的解决方案
- HTML5内置表单验证 Build-in Form Validation
- C# 获取句柄程序
- jdbc的数据库驱动类DriverManager.getConnection()详解
- 哪些seo搜索技巧你不会用?
- GIT 的ORIGIN和MASTER分析
- 百度在线笔试编程测试题(Python):整数分解成素数的积
- 【牛客网】数串
- 《Flask Web开发》读书笔记(5)第5章数据库(关键词:Web开发/Flask/数据库)
- 关于X11的重要配置文件xorg.conf