Validform表单验证总结篇


Posted in Javascript onOctober 31, 2016

近期项目里用到了表单的验证,选择了Validform_v5.3.2。

先来了解一下一些基本的参数:

通用表单验证方法:

Demo:

$(".demoform").Validform({//$(".demoform")指明是哪一表单需要验证,名称需加在form表单上;
btnSubmit:"#btn_sub", //#btn_sub是该表单下要绑定点击提交表单事件的按钮;如果form内含有submit按钮该参数可省略;
btnReset:".btn_reset",//可选项 .btn_reset是该表单下要绑定点击重置表单事件的按钮;
tiptype:1, //可选项 1=>pop box,2=>side tip(parent.next.find; with default pop),3=>side tip(siblings; with default pop),4=>side tip(siblings; none pop),默认为1,也可以传入一个function函数,自定义提示信息的显示方式(可以实现你想要的任何效果,具体参见demo页);
ignoreHidden:false,//可选项 true | false 默认为false,当为true时对:hidden的表单元素将不做验证;
dragonfly:false,//可选项 true | false 默认false,当为true时,值为空时不做验证;
tipSweep:true,//可选项 true | false 默认为false,只在表单提交时触发检测,blur事件将不会触发检测(实时验证会在后台进行,不会显示检测结果);
label:".label",//可选项 选择符,在没有绑定nullmsg时查找要显示的提示文字,默认查找".Validform_label"下的文字;
showAllError:false,//可选项 true | false,true:提交表单时所有错误提示信息都会显示,false:一碰到验证不通过的就停止检测后面的元素,只显示该元素的错误信息;
postonce:true, //可选项 表单是否只能提交一次,true开启,不填则默认关闭;
ajaxPost:true, //使用ajax方式提交表单数据,默认false,提交地址就是action指定地址;
datatype:{//传入自定义datatype类型,可以是正则,也可以是函数(函数内会传入一个参数);
"*6-20": /^[^\s]{6,20}$/,
"z2-4" : /^[\u4E00-\u9FA5\uf900-\ufa2d]{2,4}$/,
"username":function(gets,obj,curform,regxp){
//参数gets是获取到的表单元素值,obj为当前表单元素,curform为当前验证的表单,regxp为内置的一些正则表达式的引用;
var reg1=/^[\w\.]{4,16}$/,
reg2=/^[\u4E00-\u9FA5\uf900-\ufa2d]{2,8}$/;
if(reg1.test(gets)){return true;}
if(reg2.test(gets)){return true;}
return false;
//注意return可以返回true 或 false 或 字符串文字,true表示验证通过,返回字符串表示验证失败,字符串作为错误提示显示,返回false则用errmsg或默认的错误提示;
},
"phone":function(){
// 5.0 版本之后,要实现二选一的验证效果,datatype 的名称 不 需要以 "option_" 开头; 
}
},
usePlugin:{
swfupload:{},
datepicker:{},
passwordstrength:{},
jqtransform:{
selector:"select,input"
}
},
beforeCheck:function(curform){
//在表单提交执行验证之前执行的函数,curform参数是当前表单对象。
//这里明确return false的话将不会继续执行验证操作; 
},
beforeSubmit:function(curform){
//在验证成功后,表单提交前执行的函数,curform参数是当前表单对象。
//这里明确return false的话表单将不会提交; 
},
callback:function(data){
//返回数据data是json格式,{"info":"demo info","status":"y"}
//info: 输出提示信息;
//status: 返回提交数据的状态,是否提交成功。如可以用"y"表示提交成功,"n"表示提交失败,在ajax_post.php文件返回数据里自定字符,主要用在callback函数里根据该值执行相应的回调操作;
//你也可以在ajax_post.php文件返回更多信息在这里获取,进行相应操作;
//ajax遇到服务端错误时也会执行回调,这时的data是{ status:**, statusText:**, readyState:**, responseText:** };
//这里执行回调操作;
//注意:如果不是ajax方式提交表单,传入callback,这时data参数是当前表单对象,回调函数会在表单验证全部通过后执行,然后判断是否提交表单,如果callback里明确return false,则表单不会提交,如果return true或没有return,则会提交表单。
}
});
Validform对象的方法和属性:
tipmsg:自定义提示信息,通过修改Validform对象的这个属性值来让同一个页面的不同表单使用不同的提示文字;
dataType:获取内置的一些正则;
eq(n):获取Validform对象的第n个元素;
ajaxPost(flag,sync,url):以ajax方式提交表单。flag为true时,跳过验证直接提交,sync为true时将以同步的方式进行ajax提交,传入了url地址时,表单会提交到这个地址;
abort():终止ajax的提交;
submitForm(flag,url):以参数里设置的方式提交表单,flag为true时,跳过验证直接提交,传入了url地址时,表单会提交到这个地址;
resetForm():重置表单;
resetStatus():重置表单的提交状态。传入了postonce参数的话,表单成功提交后状态会设置为"posted",重置提交状态可以让表单继续可以提交;
getStatus():获取表单的提交状态,normal:未提交,posting:正在提交,posted:已成功提交过;
setStatus(status):设置表单的提交状态,可以设置normal,posting,posted三种状态,不传参则设置状态为posting,这个状态表单可以验证,但不能提交;
ignore(selector):忽略对所选择对象的验证;
unignore(selector):将ignore方法所忽略验证的对象重新获取验证效果;
addRule(rule):可以通过Validform对象的这个方法来给表单元素绑定验证规则;
check(bool,selector):对指定对象进行验证(默认验证当前整个表单),通过返回true,否则返回false(绑定实时验证的对象,格式符合要求时返回true,而不会等ajax的返回结果),bool为true时则只验证不显示提示信息;
config(setup):可以通过这个方法来修改初始化参数,指定表单的提交地址,给表单ajax和实时验证的ajax里设置参数;

下面是demo的下载地址的链接,有需要的可以下载。

Validform表单验证总结篇

以上所述是小编给大家介绍的Validform表单验证总结篇,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
深入认识JavaScript中的函数
Jan 22 Javascript
jQuery之DOM对象和jQuery对象的转换与区别分析
Jan 08 Javascript
js实现全国省份城市级联下拉菜单效果代码
Sep 07 Javascript
jQuery实现获取绑定自定义事件元素的方法
Dec 02 Javascript
详解Vue中使用Echarts的两种方式
Jul 03 Javascript
VUE中v-on:click事件中获取当前dom元素的代码
Aug 22 Javascript
微信小程序实现时间预约功能
Nov 27 Javascript
使用Node.js写一个代码生成器的方法步骤
May 10 Javascript
vue element-ui之怎么封装一个自己的组件的详解
May 20 Javascript
全面分析JavaScript 继承
May 30 Javascript
Vue的data、computed、watch源码浅谈
Apr 04 Javascript
vue-cli —— 如何局部修改Element样式
Oct 22 Javascript
Javascript数组中push方法用法分析
Oct 31 #Javascript
JavaScript中的await/async的作用和用法
Oct 31 #Javascript
使用 jQuery.ajax 上传带文件的表单遇到的问题
Oct 31 #Javascript
微信小程序 开发工具快捷键整理
Oct 31 #Javascript
微信小程序 实现tabs选项卡效果实例代码
Oct 31 #Javascript
HTML5基于Tomcat 7.0实现WebSocket连接并实现简单的实时聊天
Oct 31 #Javascript
jQuery绑定事件的四种方式介绍
Oct 31 #Javascript
You might like
php5 apache 2.2 webservice 创建与配置(java)
2011/01/27 PHP
浅析application/x-www-form-urlencoded和multipart/form-data的区别
2014/06/22 PHP
php使用post数组的键值创建同名变量并赋值的方法
2015/04/03 PHP
PHP使用SOAP扩展实现WebService的方法
2016/04/01 PHP
thinkphp ajaxfileupload实现异步上传图片的示例
2017/08/28 PHP
javascript offsetX与layerX区别
2010/03/12 Javascript
JS声明变量背后的编译原理剖析
2012/12/28 Javascript
使用jQuery清空file文件域的解决方案
2013/04/12 Javascript
JavaScript中this的使用详解
2013/11/08 Javascript
JQuery 图片滚动轮播示例代码
2014/03/24 Javascript
JS控制表格实现一条光线流动分割行的方法
2015/03/09 Javascript
jQuery Real Person验证码插件防止表单自动提交
2015/11/06 Javascript
js当前页面登录注册框,固定div,底层阴影的实例代码
2016/10/04 Javascript
用jmSlip编写移动端顶部日历选择控件
2016/10/24 Javascript
jQuery实现可移动选项的左右下拉列表示例
2016/12/26 Javascript
javascript实现动态显示颜色块的报表效果
2017/04/10 Javascript
JS失效 提示HTML1114: (UNICODE 字节顺序标记)的代码页 utf-8 覆盖(META 标记)的冲突的代码页 utf-8
2017/06/23 Javascript
认识jQuery的Promise的具体使用方法
2017/10/10 jQuery
vue中接口域名配置为全局变量的实现方法
2018/09/20 Javascript
js判断浏览器的环境(pc端,移动端,还是微信浏览器)
2020/12/24 Javascript
vue点击按钮实现简单页面的切换
2020/09/08 Javascript
关于angular引入ng-zorro的问题浅析
2020/09/09 Javascript
jQuery实现计算器功能
2020/10/19 jQuery
[01:57]DOTA2上海特锦赛小组赛解说单车采访花絮
2016/02/27 DOTA
pyQT5 实现窗体之间传值的示例
2019/06/20 Python
Python3实现zip分卷压缩过程解析
2019/10/09 Python
Python 排序最长英文单词链(列表中前一个单词末字母是下一个单词的首字母)
2020/12/14 Python
Python datetime模块的使用示例
2021/02/02 Python
HTML5 WebGL 实现民航客机飞行监控系统
2019/07/25 HTML / CSS
法国在线药房:DoctiPharma
2020/10/21 全球购物
运动会通讯稿300字
2014/02/02 职场文书
《莫高窟》教学反思
2014/02/25 职场文书
商务宴请邀请函范文
2015/02/02 职场文书
稽核岗位职责范本
2015/04/13 职场文书
Pycharm远程调试和MySQL数据库授权问题
2022/03/18 MySQL
Python 第三方库 openpyxl 的安装过程
2022/12/24 Python