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. javascript - 求助一个关于indexedDB的问题2. angular.js - angularJs ngRoute怎么在路由传递空字符串及用ng-switch取得3. 我何时应该在Java中使用JFrame.add(component)和JFrame.getContentPane()。add(component)4. python - pip install出现下面图中的报错 什么原因?5. vim里的高亮javascript的javascript.vim 已经放到syntax里了,但是不行。6. android - xml的drawable作背景,是否会产生错误7. 输入地址报以下截图错误,怎么办?8. node.js - node中MYSQL的异步问题9. javascript - ie11以下单击打开不了file,双击可以。求解?10. 为啥获取不到呀?
