html5表单验证
问题描述
html5中那些原生的验证,如required、pattern等,在验证无效时,那些弹出的提示框是怎么实现的?为什么当因为不同的约束条件不满足而无效时,会弹出不同内容的提示框?是不是结合invalid事件和validity属性实现的?setCustomValidity()方法的工作原理是什么?感觉这块内容越看越乱,还请大牛指教……
问题解答
回答1:去看MDN上的表单验证吧,我觉得说的还是挺清楚的,你可以按照它给的小demo一点点撸,慢慢就明白了。
回答2:required:空白验证,比如说:
<form> <input type='text' required oninvalid='setCustomValidity(’此处不能为空!’)' oninput=(’setCustomValidity()’)> <input type='submit' value='提交'></form>
如果input[type=text]的value为空,就会弹出提示框,并且阻止表单提交;pattern:匹配正则表达式,比如说:
<form> <input type='text' pattern='[0-9]{3}' oninvalid='setCustomValidity(’请输入3个数字!’)' oninput=(’setCustomValidity()’)> <input type='submit' value='提交'></form>
如若input[type=text]的value不为3个数字,在点击提交按钮的时候,就会提出提示
相关文章:
1. 一个走错路的23岁傻小子的提问2. 求大神帮我看看是哪里写错了 感谢细心解答3. python2.7 - 在Eclipse开发Python,怎么去掉控制台输出的其他消息??4. 冒昧问一下,我这php代码哪里出错了???5. 数据库安全 - 在公网上部署mysql数据库,安全方面需要做到哪些注意事项6. python - django里GROUP BY 如何写这样的mysql语句?7. python - 如何使用jsom.dumps获得完整的json数据?8. css - 手机浏览器的兼容问题,微信和其它下载的浏览器打开没有问题,谷歌也测试过,就是手机自带的浏览器有问题。9. mysql - SQL问个基础例子,书上的,我怎么看都看不懂..谁帮我解释一下第2个为什么和第1个一样?10. php - C#如何解析想mysql的my.ini这样的内容格式?
