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 - 父级设置了相对定位。子元素设置了绝对定位。子元素中包含了浮动的table,这个时候高度不能自适应。2. javascript - vue异步数据打印问题3. javascript - js的string数据类型,这段表述是什么意思?4. Span标签5. docker容器呢SSH为什么连不通呢?6. docker api 开发的端口怎么获取?7. javascript - 表单ajax提交后跳转,手机按返回又进入这个表单页了!!8. golang - 用IDE看docker源码时的小问题9. docker start -a dockername 老是卡住,什么情况?10. dockerfile - 为什么docker容器启动不了?
