zoukankan      html  css  js  c++  java
  • jquery.validate验证表单配合回调提交和h5.storage本地保存笔记

    • 表单验证插件我使用:jquery.validate.js 支持中文提示,可扩展性强!教程地址
    • 本地保存状态信息使用:h5提供的storage,浏览器支持5m的存储量,存储类型必须是string类型,并且ie8以下不支持,详细介绍看大神的
    • 我使用的库文件v1.15的  密码:3sfb

    简单介绍说明一下吧,但对于搬运工可能就会跳过去了,仅以此作为复习。

    1. jquery.validate.js是通过元素name来获取的,和id没有关系
    2. jquery.validate.js必须引入messages_zh.js 中文提示包
    3. storage是永久保存信息,比cookie存储的多,有5m容量,但是多了也卡。并且只能保存字符串类型

    实例代码:

     1 //结构:一个原始的表单
     2 <form action="/" id="commentForm">
     3     <label for="username">
     4         用户名:<input type="text" id="username" name="username">
     5     </label>
     6     <label for="password">
     7         密码:<input type="password" id="password" name="password">
     8     </label>
     9     <label for="sub">
    10         <input type="submit" id="sub" name="sub" value="提交">
    11     </label>
    12 </form>
    1 //引入库文件
    2 <script src="https://cdn.bootcss.com/jquery/3.2.1/jquery.min.js"></script>
    3 <script src="jquery-validation-1.15.1/dist/jquery.validate.min.js"></script>
    4 <script src="jquery-validation-1.15.1/dist/localization/messages_zh.min.js"></script>
     1 //验证代码
     2 
     3 $('#sub').on('click',function () {
     4         $("#commentForm").validate({
     5             onsubmit:true, //在提交时验证
     6             onfocusout:false,//在得到焦点时是否验证
     7             onkeyup :false,//在键盘弹起时验证
     8             rules: {
     9                 username: {
    10                     required: true,
    11                     minlength: 2
    12                 },
    13                 password: {
    14                     required: true,
    15                     minlength: 5
    16                 }
    17             },
    18             messages: {
    19                 username: {
    20                     required: "<span style='color: red'>请输入用户名</span>",//只以dom形式展示可以自定义dom
    21                     minlength: "<span style='color: red'>用户名必需由两个字母组成</span>"
    22                 },
    23                 password: {
    24                     required: "<span style='color:red'>请输入密码</span>",
    25                     minlength: "<span style='color:red'>密码长度不能小于 5 个字母</span>"
    26                 }
    27             },
    28             submitHandler: function(form) { //验证成功时调用
    29                 //alert('ok');
    30                 h5storage($('#username').val(),$('#password').val())//调用storage本地保存
    31             },
    32             invalidHandler: function(form, validator) {  //不通过回调
    33                 alert('验证不通过');
    34                 return false;
    35             },
    36             debug:true
    37         });
    38     })
     1 //为了偷懒,我就把增删查改都写出来了,因为它只接受字符串所以在使用json的时候要对json解析,同理获取的时候也要转化。
     2 //h5本地存储
     3     function h5storage() {
     4         var uid=arguments[0],passw=arguments[1];
     5         if(!window.localStorage){
     6             alert("浏览器不支持支持localstorage");
     7         }else{
     8             //主逻辑业务
     9             //1.写入
    10             var storage=window.localStorage;
    11             //写入a字段
    12             storage["uid"]=uid;
    13             //写入c字段
    14             storage.setItem("passw",passw);
    15             //console.log(typeof storage["passw"]+'=='+storage['passw']);
    16             //console.log(typeof storage["uid"]+'=='+storage.uid);
    17             //2.获取
    18             //第一种方法读取
    19             var a=storage.uid;
    20             //console.log(a);
    21             //第二种方法读取
    22             var b=storage["passw"];
    23             //console.log(b);
    24             //第三种方法读取
    25             var c=storage.getItem("passw");
    26             //console.log(c);
    27             //3.修改
    28             storage.setItem("passw",333333);
    29             //console.log(storage["passw"])
    30             //4.删除
    31             //storage.clear();//删除全部
    32             //console.log(storage.uid+'和'+storage.passw)
    33             //storage.removeItem('passw')//某个键值对删除
    34             //console.log(storage.uid+'和'+storage.passw)
    35 
    36             //解析json数据传入
    37             var data={
    38                 name:'宋宇',
    39                 sex:'男',
    40                 hobby:'program'
    41             };
    42             var d=JSON.stringify(data);//转成字符串
    43             storage.setItem('data',d);
    44             //获取到json字符串后转成json对象输出
    45             var json=storage.getItem('data');
    46             var jsonObj=JSON.parse(json);
    47             console.log(jsonObj)
    48         }
    49     }

    呼呼~搬运代码真累啊,重在理解和运用。代码不重要,重要的是罗百吉。

  • 相关阅读:
    如何构建微服务架构
    JVM内幕:Java虚拟机详解
    JVM 调优系列之图解垃圾回收
    干货:JVM 堆内存和非堆内存
    JavaWeb项目架构之NFS文件服务器
    SSH框架之-hibernate 三种状态的转换
    随笔聊架构
    如果不从事编程,我可以做什么?
    JAVA几种缓存技术介绍说明
    Java反射机制应用实践
  • 原文地址:https://www.cnblogs.com/webSong/p/7094157.html
Copyright © 2011-2022 走看看