jquery.validate验证表单配合回调提交和h5.storage本地保存笔记

时间:2022-09-14 11:01:29
  • 表单验证插件我使用: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容量,但是多了也卡。并且只能保存字符串类型

实例代码:

 //结构:一个原始的表单
<form action="/" id="commentForm">
<label for="username">
用户名:<input type="text" id="username" name="username">
</label>
<label for="password">
密码:<input type="password" id="password" name="password">
</label>
<label for="sub">
<input type="submit" id="sub" name="sub" value="提交">
</label>
</form>
 //引入库文件
<script src="https://cdn.bootcss.com/jquery/3.2.1/jquery.min.js"></script>
<script src="jquery-validation-1.15.1/dist/jquery.validate.min.js"></script>
<script src="jquery-validation-1.15.1/dist/localization/messages_zh.min.js"></script>
 //验证代码

 $('#sub').on('click',function () {
$("#commentForm").validate({
onsubmit:true, //在提交时验证
onfocusout:false,//在得到焦点时是否验证
onkeyup :false,//在键盘弹起时验证
rules: {
username: {
required: true,
minlength: 2
},
password: {
required: true,
minlength: 5
}
},
messages: {
username: {
required: "<span style='color: red'>请输入用户名</span>",//只以dom形式展示可以自定义dom
minlength: "<span style='color: red'>用户名必需由两个字母组成</span>"
},
password: {
required: "<span style='color:red'>请输入密码</span>",
minlength: "<span style='color:red'>密码长度不能小于 5 个字母</span>"
}
},
submitHandler: function(form) { //验证成功时调用
//alert('ok');
h5storage($('#username').val(),$('#password').val())//调用storage本地保存
},
invalidHandler: function(form, validator) { //不通过回调
alert('验证不通过');
return false;
},
debug:true
});
})
 //为了偷懒,我就把增删查改都写出来了,因为它只接受字符串所以在使用json的时候要对json解析,同理获取的时候也要转化。
//h5本地存储
function h5storage() {
var uid=arguments[0],passw=arguments[1];
if(!window.localStorage){
alert("浏览器不支持支持localstorage");
}else{
//主逻辑业务
//1.写入
var storage=window.localStorage;
//写入a字段
storage["uid"]=uid;
//写入c字段
storage.setItem("passw",passw);
//console.log(typeof storage["passw"]+'=='+storage['passw']);
//console.log(typeof storage["uid"]+'=='+storage.uid);
//2.获取
//第一种方法读取
var a=storage.uid;
//console.log(a);
//第二种方法读取
var b=storage["passw"];
//console.log(b);
//第三种方法读取
var c=storage.getItem("passw");
//console.log(c);
//3.修改
storage.setItem("passw",333333);
//console.log(storage["passw"])
//4.删除
//storage.clear();//删除全部
//console.log(storage.uid+'和'+storage.passw)
//storage.removeItem('passw')//某个键值对删除
//console.log(storage.uid+'和'+storage.passw) //解析json数据传入
var data={
name:'宋宇',
sex:'男',
hobby:'program'
};
var d=JSON.stringify(data);//转成字符串
storage.setItem('data',d);
//获取到json字符串后转成json对象输出
var json=storage.getItem('data');
var jsonObj=JSON.parse(json);
console.log(jsonObj)
}
}

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

jquery.validate验证表单配合回调提交和h5.storage本地保存笔记的更多相关文章

  1. jquery&period;validate验证表单

    添加引用 <script src="/${appName}/commons/js/validate/jquery.validate.min.js"></scrip ...

  2. Jquery validate验证表单时多个name相同的元素只验证第一个的问题

    下面搜集了五种方法,主要还是前两个提供了解决方案,第三种需要修改jQuery源码: 修复jquery.validate插件中name属性相同(如name='a[]')时验证的bug 使用jquery. ...

  3. jquery&period;validate和jquery&period;form配合实现验证表单后AJAX提交

    基础代码其实很简单,之后一点一点扩充.最终代码写在最后. 表单: <form action="@Url.Action("AddColumns","Cont ...

  4. 异步提交form的时候利用jQuery validate实现表单验证

    异步提交form的时候利用jQuery validate实现表单验证相信很多人都用过jquery validate插件,非常好用,并且可以通过下面的语句来自定义验证规则    // 电话号码验证    ...

  5. Jquery&period;validate&period;js表单验证插件的使用

    作为一个网站web开发人员,以前居然不知道还有表单验证这样好呀的插件,还在一行行写表单验证,真是后悔没能早点知道他们的存在. 最近公司不忙,自己学习一些东西的时候,发现了validation的一个实例 ...

  6. 第一百八十六节,jQuery,验证表单插件,Ajax 表单插件,验证和提交表单

    jQuery,验证表单插件,Ajax 表单插件,验证和提交表单 HTML <form id="reg" method="post" action=&quo ...

  7. 基于Jquery Validate 的表单验证

    基于Jquery Validate 的表单验证 jquery.validate.js是jquery下的一个验证插件,运用此插件我们可以很便捷的对表单元素进行格式验证. 在讲述基于Jquery Vali ...

  8. 基于Bootstrap&plus;jQuery&period;validate Form表单验证实践

    基于Bootstrap jQuery.validate Form表单验证实践 项目结构 :     github 上源码地址:https://github.com/starzou/front-end- ...

  9. jQuery&period;validate&period;js表单验证插件

    jQuery.validate.js表单验证插件的使用 效果: 代码: <!DOCTYPE html> <html lang="en"> <head& ...

随机推荐

  1. infoq 微信后台存储架构

    infoq 上微信后台存储架构 视频很是值得认真一听,大概内容摘要如下: 主要内容:同城分布式强一致,园区级容灾KV存储系统 - sync 序列号发生器      移动互联网场景下,频繁掉线重连,使用 ...

  2. 用include来处理模板的问题

    /** * 测试方法 */ protected function getHtml() { $tpl = $this->pageletDir.$this->plTemplate; $html ...

  3. Golang学习 - errors 包

    ------------------------------------------------------------ Go 语言使用 error 类型来返回函数执行过程中遇到的错误,如果返回的 e ...

  4. 逻辑卷管理&lpar;linux&rpar;

    (创建分区)1.fdisk /dev/sdb2.n3default4.default5.+200M6.w7.partprobe(更新分区)8mkfs.ext4 /dev/sdb1//格式化sdb1.. ...

  5. FluentScheduler定时器计划任务

    http://www.cnblogs.com/lgxlsm/p/6734011.html 用了FluentScheduler后,再也比想用timer计时器了. FluentScheduler 是 .N ...

  6. Unity 5&period;4版本 Application&period;systemLanguage 失效

    最近在上线双语版本(一个包支持中文.英文二种语言)时,遇到一个坑点 if (ToolUtils.isAndroid()) { if (Application.systemLanguage == Sys ...

  7. dataguard从库数据库丢失恢复例子&lpar;模拟丢失数据文件&rpar;

    准备工作,使用如下脚本进行数据库的全备份[oracle@localhost ~]$ more rman_backup.sh #!/bin/sh RMAN_OUTPUT_LOG=/home/oracle ...

  8. 修改Jenkins的主目录步骤

    在使用Jenkins做持续集成过程中,在构建很多次后发现有时在构建的时候系统提示磁盘空间不足,此时检查发现Jenkins的主目录挂载区放在了服务器根目录下,占用空间较大,此时除了对服务器的磁盘进行扩容 ...

  9. 让低版本浏览器支持html5的标签

    原理就是首先用js的createElement来创建,之后在使用 document.createElement('header'); <header> <hgroup>头部信息 ...

  10. Activity设置背景透明之开发坑

    Activity设置背景透明的常规方法 方法一.在Manifest.xml中,直接在需要设置的Activity中添加主题样式: Android:theme="@android:style/T ...