jQuery-mobilevalidate使用 的一些心得,小小总结
在做M站时比较纠结的是表单验证,不像pc端,移动端的验证要求插件更小更轻量,更加灵活,说不定是冒气泡的报错提示?!
介绍一款好用的移动端的表单验证插件:jQuery-mobilevalidate:
代码写的简洁一点吧,方便查看,基本结构:
<form class="basic_form" method="" id="form">
<ul class="info_list">
<li>
<label for="username"><span>*</span>姓名</label>
<input type="text" class="name" placeholder="请输入" maxlength="6" data-required="true" data-descriptions="username" data-describedby="username-description" name="username" id="username">
//必须项,自定义描述,name值提交
//data-required="true"必填项
// data-describedby="username-description"错误描述信息标记
// data-descriptions="username" 错误描述信息内容
<div id="username-description"></div>
//id表明了错误信息提示的位置
</li>
<li class="select_li" id="sex_li">
<label for="sex"><span>*</span>性别</label>
<input type="text" class="padding_right" readonly placeholder="男" id="sex">
<input type="hidden" value="1" class="gender" name="sex">
//隐藏域提交
</li>
<li class="select_li" id="address_li">
<label><span>*</span>现居城市</label>
<input type="text" class="padding_right address" readonly name="address" placeholder="省份/城市" data-required="true" data-descriptions="address" data-describedby="address-description">
<div id="address-description"></div>
//id表明了错误信息提示的位置
<input type="hidden" name="province" id="province">
<input type="hidden" name="city" id="city">
</li>
<li class="phone">
<label><span>*</span>手机号</label>
<span class="def_num">+86</span>
<input type="text" class="phone1" readonly placeholder="" class="">
<input type="text" class="phone2" name="mobile" placeholder="请输入" class="" maxlength="11" data-validate="phone" data-describedby="phone-description">
//自定义手机验证格式
<div id="phone-description"></div>
//id表明了错误信息提示的位置
</li>
<li>
<label for="e-mail">邮箱</label>
<input type="text" class="name" data-validate="email" placeholder="请输入" maxlength="30" name="email" data-describedby="email-description" id="e-mail">
<div id="email-description"></div>
//id表明了错误信息提示的位置
</li>
</ul>
<div class="btns clearfix">
<input type="reset" value="取消" class="cancel">
<input type="submit" value="确定" class="confirm">
</div>
</form>
js基本结构
$.mvalidateExtend({
phone: {
required: true,
pattern: /^0?1[3|4|5|8][0-9]\d{8}$/,
descriptions: {
required: '<div class="field-invalidmsg">*请输入手机号码</div>',
pattern: '<div class="field-invalidmsg">*您输入的手机号码格式不正确</div>',
valid: '<div></div>'
}
},
password: {
required: true,
pattern: /^[a-zA-Z0-9]{6,20}$/,
descriptions: {
required: '<div class="field-invalidmsg">*请输入密码</div>',
pattern: '<div class="field-invalidmsg">*您输入的密码格式不正确</div>',
valid: '<div></div>'
}
}
});
$("#item_form").mvalidate({
type: 2,
// 提示错误类型,可以自定义
onKeyup: true,
sendForm: true,
firstInvalidFocus: true,
//自动获取第一个没有通过验证的input
valid: function(event, options) {
//点击提交按钮时,表单通过验证触发函数
//alert("验证通过!接下来可以做你想做的事情啦!");
var url = $('#item_form').attr("action");
proPublic.postAjax(url, $('#item_form').serialize());
event.preventDefault();
},
invalid: function(event, status, options) {
//点击提交按钮时,表单未通过验证触发函数
},
eachField: function(event, status, options) {
//点击提交按钮时,表单每个输入域触发这个函数 this 执向当前表单输入域,是jquery对象
},
eachValidField: function(val) {
return false;
},
eachInvalidField: function(event, status, options) {},
conditional: {
pwd2: function(val, options) {
$("#confirmpwd2").trigger("keyup." + options.namespace);
return true;
},
confirmpwd2: function(val) {
var flag;
return (val == $("#pwd2").val()) ? true : false;
},
//两次密码输入
},
descriptions: {
item: {
required: '<div class="field-invalidmsg">*请输入项目名称</div>',
valid: '<div class="field-validmsg"></div>'
},
join: {
required: '<div class="field-invalidmsg">*请输入参与身份</div>',
valid: '<div class="field-validmsg"></div>'
},
time: {
required: '<div class="field-invalidmsg">*请选择时间</div>',
valid: '<div class="field-validmsg"></div>'
}
}
//内容错误提示的内容
});
====禁止表单提交================
main.stopDefault = function(event) {
var event = event || window.event;
//阻止默认浏览器动作(W3C)
if (event && event.preventDefault) {
event.preventDefault();
} else {
//IE中阻止函数器默认动作的方式
window.event.returnValue = false;
return false;
}
};
jQuery-mobilevalidate使用 的一些心得,小小总结的更多相关文章
- JQuery的开发与使用心得
关于jQuery的 入门使用jQuery可以很容易或具有挑战性的,这取决于你如何使用JavaScript,HTML,CSS进行开发和编程. 要知道一件重要的事情是,jQuery是只是一个JavaScr ...
- DataTable 删除数据后重新加载
DataTable 删除数据后重新加载 一.总结 一句话总结: 判断datatable是否被datatable初始化或者是否执行了datatable销毁函数,如果没有,就销毁它 if ($('#dat ...
- jquery validate学习心得
据说,javascript最初的由来就是为了解决表单的验证问题,当然现在的js已经能够用来做各种各样炫酷的效果,不过表单验证一直以来都是js很重要的一个用途(在博客园第一篇博客,不知道说些什么开头~~ ...
- Jquery Mobile转场特效之slide | 小小iPhone开发
Jquery Mobile转场特效之slide | 小小iPhone开发 2012 Jquery Mobile转场特效之slide 作者:小小 发布:2012-12-12 14:03 分类:j ...
- jQuery修炼心得-DOM节点的插入
1. 内部插入append()与appendTo() append:这个操作与对指定的元素执行原生的appendChild方法,将它们添加到文档中的情况类似. appendTo:实际上,使用这个方法是 ...
- jquery.tmplate使用心得
jquery.tmplate使用心得 jquery.tmpl.js,是与jquey共同使用的html模板插件.该插件可通过简单的语法将数据放入到html模板中,可以很好的将数据渲染到页面上.该插件在本 ...
- JQuery纵向下拉菜单实现心得
jquery库给我们带来了许多便利,不愧是轻量级的DOM框架,在前面的博文中小编分别对jquery的基础知识以及jquery的一些小demo有一系列的简单介绍,期待各位小伙伴的指导.使用jquery实 ...
- django rest framework 小小心得
這篇主要是針對於個人目前學習django rest framework的一些小小心得,在開發django而言,想要撰寫restful api,是有幾個套件可以選擇的 rest framework ta ...
- jQuery Mockjax插件使用心得
最近指导前端攻城狮在后台代码没有完成前测试自己写的后台代码,第一个版本是让他直接创建一个data.json静态数据,然后再ajax调用,缺点非常明显,首先需要localhost的支持,其次是能测的功能 ...
- (原创)jQuery Media Plugin-jQuery的网页媒体播放器插件的使用心得
jQuery Media Plugin是一款基于jQuery的网页媒体播放器插件,它支持大部分的网络多媒体播放器和多媒体格式,比如:Flash, Windows Media Player, Real ...
随机推荐
- A1制作文件夹目录
第一步 在文件夹目录下建立bat文件,填写以下内容: dir *.* /B >目录.txt 最后双击bat文件. 第二步 运行后复制目录.txt文件内容到空白excel 使用hyperlink函 ...
- Java学习笔记(二)——类和对象
[1]类是模子,确定对象将会拥有的特征(属性)和行为(方法). [2]类的特点:类是对象的类型: 具有相同属性和方法的一组对象的集合. [3]属性:对象具有的各种特征(每个对象的每个属性都拥有特定值) ...
- SpringCloudStream实战
Spring Cloud Stream是一个用于构建消息驱动的微服务应用程序的框架.Spring Cloud Stream构建于Spring Boot之上,用于创建独立的生产级Spring应用程序,并 ...
- 【转】使用ffmpeg转码的MP4文件需要加载完了才能播放的解决办法
1.前一段时间做了一个ffmpeg转码MP4的项目,但是转出来的MP4部署在网站上需要把整个视频加载完成才能播放,到处找资料,最后找到解决方案记录于此备忘. FFMpeg转码由此得到的mp4文件中, ...
- TFT1.44显示屏
下载这个库 普通arduino的接口 链接 UTFT myGLCD(LPH9135,6,5,2,3,4); mega2560的接口连接 UTFT myGLCD(QD_TFT180A,A2,A1,A5, ...
- IndentationError 这个错误是缩进的问题
1.自定义库导入时,提示这个错误,是缩进的问题
- bsxfun, arrayfun, cellfun, spfun, structfun
在使用matlab进行矩阵计算的时候,经常会遇到要使用for循环的情况.但其实很多操作可以用内部的一些函数代替.今天总结一些几个函数的用法: bsxfun, arrayfun, cellfun, sp ...
- MyOD 代码实现
MyOD的代码实现 一.题目要求: 编写MyOD.java 用java MyOD XXX实现Linux下od -tx -tc XXX的功能 二.设计思路 OD命令详解: 因此,该题目所要实现的功能为以 ...
- Visual Studio 2012 与此版本的 Windows 不兼容。有关详细信息,请联系 Microsoft
参考网址:Visual Studio 2012 与此版本的 Windows 不兼容 解决 下载更新包安装:http://www.microsoft.com/zh-CN/download/details ...
- 编写Linux C++程序如何影响VIRT(虚存)和RES(实存/常驻内存)
转载目的,主要是为了理解lVIRT虚拟内存.RES常驻内存.共享内存SHR.SWAP和实际程序应用如何对应的. 在Linux命令行中执行top命令,可以查询到所有进程使用的VIRT虚拟内存.RES常驻 ...