所有分类
  • 所有分类
  • 后端开发
H5 使用约束验证 API 的注意事项及实战案例分享

H5 使用约束验证 API 的注意事项及实战案例分享

这次给大家带来H5如何使用约束验证API,H5使用约束验证API的注意事项有哪些,下面就是实战案例,一起来看一下。约束验证API约束验证API的简单实例约束验证API是在原生方法之上更灵活的表达方式,你可以自己设置数据是否通过,而不借助于正

1.输入格式不对,提交按钮不让你走

H5 使用约束验证 API 的注意事项及实战案例分享

当你填网页表格时,假如你不小心输错了邮箱地址这类不对劲儿的地方,点下提交后,浏览器会立马跟你说:“这儿错!”然后拦下你不让走,给你在页面上显个警告提醒下哪儿出错了。这事儿当你想把不是邮箱格式的字符塞进去时最容易碰到,浏览器就像是个严肃的老师,绝不让一点儿差错蒙混过关。

2.电话号码和电子邮件,不一样哦

或许你会觉得,既然输错邮箱地址可以纠正,那手机号输错应该也能提醒?可惜,不是这样。这个<inputtype=”tel”>其实就是让你知道这儿要填电话号而已,在电脑上面只起装饰作用。直到用手机才能看到数字键盘,方便填写。不过,它可不会帮你确认输入的到底对不对,所以在电脑上输一堆字母的话,浏览器可不理你。

3.自定义验证,你的规矩你来定

如果你想要浏览器帮忙检查输进去的东西对不对,就用pattern属性。通过设定它,你能给出一个像搜索引擎蜘蛛一样的正则表达式。如果用户的填写不符合此规则,浏览器就不会让他们通过,并且还会弹出一个提醒,让他们知道应该怎么做。

4.空着不填,浏览器也懒得理你


好玩?就算你什么都没填,浏览器也不会有啥反应!因为默认情况下这些字段可以空着。所以当你遇到空白的输入框时,浏览器基本上都会放行,不需要做啥验证。

5.错误信息,藏在哪里的秘密

var input = document.getElementById('input')
input.validationMessage // =>'请填写此字段'

有些浏览器的不正确提示,其实就在某某属性(validationMessage)里面。而且这个属性是某些现代浏览器里只能被读取的,也就是没法乱修改。当我们提交表单,如果遇到错误,浏览器就是从这个属性里找出来误操作的信息,然后给你看咯。

6.必填字段,不能空着

input.setCustomValidity('这个字段必须填上哦');
// 下面这种做法适用于不支持setCustomValidity的浏览器,基本现代浏览器都不支持这样做
input.validationMessage = '这个字段必须填上哦'

设上required属性就说明了这个字段得填。哪天有人想空着必需填字段提交时,他们的浏览器肯定会弹出个提示瞧你说”请别忘了填啊”或者类似的话。虽可变通下这提示内容,但不能把它彻底消掉,毕竟那可是浏览器的硬性规定。

7.验证通过与否,一目了然

浏览器的表单验证就是看validatorsMessage属性值来判断字段算过没过关。属性为空?那就大功告成!有内容的话,浏览器就会把这信息当成‘不对劲’的错误提示告诉你。

8.即时反馈,真的需要吗?

是不是觉得每打一个字就能看到反馈信息就好了?其实浏览器只有在按了提交按钮才会去检查ValidationMessage这段文本告诉你有没有错。所以,除非真提交,不然你还不知道输对没!

input.addEventListener('input', function () {
        if(this.value.length > 3){ // 判断条件完全自定义
            input.setCustomValidity('格式不正确');
        }else {
            input.setCustomValidity('')
        }
 });

9.输入即检查,为了更好的用户体验

浏览器一般的就只是在提交的时候才校验,不过,咱们是开发者可以做个小手脚,就是把键盘事件给绑定起来,这样,每次输入都会检验!也就是说,只要发现不对头,它马上就变红或者其它醒目的颜色提醒你要改正了,多方便!

10.总结:表单验证,不只是技术活

提交表单可不能马虎,毕竟这不仅关乎技术,更影响我们的使用感受!别让糟糕的表单验证让人头大,而是要给人家提供便捷舒心的体验!因此,下次设计表单时,千万别忘了这些小细节,期待您的用户幸福满满地使用起来哟~

    input:required {
            background-color: #FFE14D;
        }
    /*这个伪类通过validationMessage属性进行判断*/
    input:invalid {
        border: 2px solid red;
    }

原文链接:https://www.icz.com/technicalinformation/web/vue2/2024/07/18763.html,转载请注明出处~~~
0

评论0

请先
注意:请收藏好网址www.icz.com,防止失联!站内免费资源持续上传中…!赞助我们
显示验证码
没有账号?注册  忘记密码?