jQuery插件Validation快速完成表单验证的方式


Posted in Javascript onJuly 28, 2016

JQuery的Validation插件可以到http://plugins.jquery.com/上去下载。今天来分享一下,关于这个插件的使用。

简易使用

这第一种方式可谓是傻瓜式的使用,我们只需要按照validation定义好的规则就可以了。
 •首先引入JQuery库和Validation插件: 
<script type="text/javascript" src="jquery-2.2.4.min.js"></script>
<script type="text/javascript" src="jquery.validate.min.js"></script>
 •然后是打开验证开关: 

$(function(){
 $("#form_id").validate();
});
// 或者
$(document).ready(function(){
 $("#form_id").validate();
});

 •validation的build_in验证规则有:
◦class = “required”: 表明表单中该字段为必选的
 ◦class = "required email" 表明在表单中该字段为必须存在的,而且是符合email的规范格式
 ◦class = "url"表明在表单中该字段需要满足url的匹配模式
 ◦minlength = "6" 表明在表单中该字段的长度最小为6位

 案例展示:

<!DOCTYPE html>
<html>
<head>
 <meta charset="utf-8">
 <title>Validation for form demo</title>
 <script type="text/javascript" src="jquery-2.2.4.min.js"></script>
 <script type="text/javascript" src="jquery.validate.min.js"></script>
 <style>
 em {
  font-weight: bold;
  vertical-align: top;
  color: red;
  float: right;
 }

 label {
  width:10em;
  padding: 7px;
 }
 .container {
  width: 370px;
  height: auto;
  background-color: silver;
 }
 </style>
</head>
<body>
 <div align="center" class="container">
 <form id="vform" method="post" action="#">
  <fieldset>
  <legend>使用JQuery插件validation来实现表单验证</legend>
  <p>
   <label for="username">姓名:</label>
   <input id="username" name="username" class="required" minlength="2"> <em>*</em>

  </p>
  <p>
   <label for="email">邮件:</label>
   <input id="email" name="email" class="required email" > <em>*</em>
  </p>
  <p>
   <label for="url">网址:</label>
   <input id="url" name="url" class="url" ></p>
  <p>
   <label for="comment">评论:</label>
   <textarea id="comment" name="comment" class="required"></textarea>
   <em>*</em>
  </p>
  <p><input type="submit" name="submit"></p>
  </fieldset>
 </form>
 </div>

<script>
 // $(function(){
 // $("#vform").validation();
 // });
 $(document).ready(function(){
 $("#vform").validate();
 });

</script>
</body>
</html>

验证规则全写到Class中

和简易使用不同的是,这种方式使用pure的class来进行控制。但是我们需要引入一个新的插件jquery.metadate.js。实现的功能就是帮助用户将所有的与验证数据相关的信息写到class属性中,方便管理。

我们可以通过以下几步来实现这一需求。
 •引入一个新的插件jquery.metadata.js 
<script src="jquery.metadata.js"></script>
 •改变调用验证表单的开关: 

$(function(){
 $("#form_id").validate();//去掉这行代码,修改成下面的
 $("#form_id").validate({meta:"validate"});
});

 •将验证信息写到class属性中。详见下面的代码。

<div align="center" class="container">
 <form id="vform" method="post" action="#">
  <fieldset>
  <legend>使用JQuery插件validation来实现表单验证</legend>
  <p>
   <label for="username">姓名:</label>
   <input id="username" name="username" class="{validate: { required : true, minlength : 2 }}" > <em>*</em>

  </p>
  <p>
   <label for="email">邮件:</label>
   <input id="email" name="email" class="{validate: { required :true,email :true}}" > <em>*</em>
  </p>
  <p>
   <label for="url">网址:</label>
   <input id="url" name="url" class="{validate: {url :true}}" ></p>
  <p>
   <label for="comment">评论:</label>
   <textarea id="comment" name="comment" class="{validate: {required :true}}"></textarea>
   <em>*</em>
  </p>
  <p><input type="submit" name="submit"></p>
  </fieldset>
 </form>
 </div>

注意: Validate写在class属性的时候,记得要将验证规则使用空格分隔开来。 否则代码不会正常的运行!

还有就是$("#vform").validate({meta:"validate"});中validate这个单词不能随意的更改,否则也是不会生效的。 

通过name属性构建验证规则

下面介绍一种与HTML元素的属性无直接关联,而是通过name属性来关联字段和验证规则的验证写法。

优点: 可以实现行为与结构的分离,便与调试和维护代码;
 •表单代码,去除所有的class验证。当然这并不是说我们不可以给字段添加样式咯。 

<div align="center" class="container">
 <form id="vform" method="post" action="#">
  <fieldset>
  <legend>使用JQuery插件validation来实现表单验证</legend>
  <p>
   <label for="username">姓名:</label>
   <input id="username" name="username" > <em>*</em>

  </p>
  <p>
   <label for="email">邮件:</label>
   <input id="email" name="email" > <em>*</em>
  </p>
  <p>
   <label for="url">网址:</label>
   <input id="url" name="url" ></p>
  <p>
   <label for="comment">评论:</label>
   <textarea id="comment" name="comment" ></textarea>
   <em>*</em>
  </p>
  <p><input type="submit" name="submit"></p>
  </fieldset>
 </form>
 </div>

 •JQuery代码如下: 

<script>
 // $(function(){
 // $("#vform").validation();
 // });

 $(function(){
 $("#vform").validate({
  rules:{
  username: {
   required: true,
   minlength: 6
  },
  email: {
   required: true,
   email: true
  },
  url: "url",
  comment: "required"
  }
 });
 });

</script>

 •注意:使用空格分隔验证字段 

jQuery插件Validation快速完成表单验证的方式

以上就是关于JQuery插件Validation的基础使用了。

国际化之中文化
 •首先引入一个中文的信息验证库,这个我们可以在下载好的validation的lib包下找到。 
<script src="messages_zh.js"></script>
 •第二步就是在验证规则处添加message字段,然后输入自定义的中文信息。如下:

<script>
 // $(function(){
 // $("#vform").validation();
 // });

 $(function(){
 $("#vform").validate({
  rules:{
  username: {
   required: true,
   minlength: 6,
   messages: {
   required: '请输入姓名',
   minlength: '请至少输入6个字符'
   }
  },
  email: {
   required: true,
   email: true,
   messages: {
   required: '请输入邮箱',
   email: '请检查您的邮箱格式!'
   }
  },
  url: {
   url: true,
   messages: {
   url: '请检查网址的格式!'
   }
  },
  comment: {
   required: true,
   messages: {
   required: '请输入评论!',
   }
  }
  }
 });
 });

</script>

不知道怎么回事,我这段代码没有显示中文提示,大家发现了错误在哪里了吗?

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
JAVA四种基本排序方法实例总结
Jul 24 Javascript
jquery图片滚动放大代码分享(1)
Aug 25 Javascript
学习JavaScript设计模式之享元模式
Jan 18 Javascript
js 获取元素所有兄弟节点的实现方法
Sep 06 Javascript
JS给Array添加是否包含字符串的简单方法
Oct 29 Javascript
解决同一页面中两个iframe互相调用jquery,js函数的方法
Dec 12 Javascript
详解Javascript获取缓存和清除缓存API
May 25 Javascript
JS简单获取并修改input文本框内容的方法示例
Apr 08 Javascript
微信小程序云开发之云函数详解
May 16 Javascript
koa2+vue实现登陆及登录状态判断
Aug 15 Javascript
vue中npm包全局安装和局部安装过程
Sep 03 Javascript
Nest.js 授权验证的方法示例
Feb 22 Javascript
浅谈JS正则表达式的RegExp对象和括号的使用
Jul 28 #Javascript
AngularJS 模块详解及简单实例
Jul 28 #Javascript
jQuery制作网页版选项卡
Jul 28 #Javascript
AngularJS 中的事件详解
Jul 28 #Javascript
基于js里调用函数时,函数名带括号和不带括号的区别
Jul 28 #Javascript
zepto与jquery的区别及zepto的不同使用8条小结
Jul 28 #Javascript
浅谈js中调用函数时加不加括号的问题
Jul 28 #Javascript
You might like
星际争霸中的对战模式介绍
2020/03/04 星际争霸
网络资源
2006/10/09 PHP
Php连接及读取和写入mysql数据库的常用代码
2014/08/11 PHP
详细解读php的命名空间(一)
2018/02/21 PHP
JS在IE和FireFox之间常用函数的区别小结
2010/03/12 Javascript
jQuery 属性选择器element[herf*='value']使用示例
2013/10/20 Javascript
使用js判断控件是否获得焦点
2014/01/03 Javascript
JS删除字符串中重复字符方法
2014/03/09 Javascript
js图片处理示例代码
2014/05/12 Javascript
jQuery使用CSS()方法给指定元素同时设置多个样式
2015/03/26 Javascript
12个非常实用的JavaScript小技巧【推荐】
2016/05/18 Javascript
使用plupload自定义参数实现多文件上传
2016/07/19 Javascript
利用Plupload.js解决大文件上传问题, 带进度条和背景遮罩层
2017/03/15 Javascript
JavaScript门面模式详解
2017/10/19 Javascript
详解小程序原生使用ES7 async/await语法
2018/08/06 Javascript
javascript Canvas动态粒子连线
2020/01/01 Javascript
Vue 实现登录界面验证码功能
2020/01/03 Javascript
javascript 内存模型实例详解
2020/04/18 Javascript
JS+Canvas实现五子棋游戏
2020/08/26 Javascript
使用AutoJs实现微信抢红包的代码
2020/12/31 Javascript
Python及Pycharm安装方法图文教程
2019/08/05 Python
用Pelican搭建一个极简静态博客系统过程解析
2019/08/22 Python
Keras实现DenseNet结构操作
2020/07/06 Python
HTML5 Canvas入门学习教程
2016/03/17 HTML / CSS
Lentiamo比利时:便宜的隐形眼镜
2020/02/14 全球购物
开发中都用到了那些设计模式?用在什么场合?
2014/08/21 面试题
super()与this()的区别
2016/01/17 面试题
大学生个人求职信范文
2013/09/21 职场文书
电子商务专业在校生实习自我鉴定
2013/09/29 职场文书
外国人聘用意向书
2014/04/01 职场文书
就业协议书的作用
2014/04/11 职场文书
2014年中班下学期工作总结
2014/12/11 职场文书
人事局接收函
2015/01/31 职场文书
捐书活动倡议书
2015/04/27 职场文书
2016年习总书记讲话学习心得体会
2016/01/20 职场文书
Python Matplotlib绘制条形图的全过程
2021/10/24 Python