官网地址:http://bassistance.de/jquery-plugins/jquery-plugin-validation

Validate手册: http://www.cnblogs.com/chutianshu1981/p/3602184.html

效果图:

引入库:

<script type="text/javascript" src="__PUBLIC__/Js/jquery.js"></script>
<script type="text/javascript" src="__PUBLIC__/Js/jquery-validate.js"></script>
<script type="text/javascript" src="__PUBLIC__/Js/register.js"></script>

表单:

<form action="" method='post' name='regis'>
<p>
<label for="account">登录账号:</label>
<input type="text" name='account' id="account" autocomplete="off" />
</p>
<p>
<label for="pwd">登录密码:</label>
<input type="password" name='pwd' id="pwd"/>
</p>
<p>
<label for="pwded">确认密码:</label>
<input type="password" name='pwded' id='pwded'/>
</p>
<p>
<label for="uname">昵 称:</label>
<input type="text" name='uname' id="uname" />
</p>
<p>
<label for="verify">验证码:</label>
<input type="text" name="verify" id="verify" />
<img src="#" alt="验证码图片" class="verify" id="verify-img" title="点击更换" />
</p>
<p>
<input type="submit" value='立即注册' id='regis'/>
</p>
</form>

register.js文件:

$(function () {

    //jQuery Validate表单验证

    /**
* 添加验证方法: ok
* 以字母开头,5-17 位字母、数字、下划线"_"
*/
jQuery.validator.addMethod("ok", function(value, element) {
var account = /^[a-zA-Z][\w]{4,16}$/;
return this.optional(element) || (account.test(value));
}, '以字母开头,5-17 位字母、数字、下划线"_"'); $('form[name="regis"]').validate({ // 验证规则
rules:{
account:{ //form表单中input[name='account']元素的验证规则
required: true, //必须字段,不能为空
ok: true, //启用自定义验证规则'ok'
remote: { //异步验证
url: checkAccountUrl, //后台处理程序
type: "post", //数据发送方式
dataType: "json", //接受数据格式
data: { //要传递的数据
account: function() {
return $("#account").val().trim();
}
}
}
},
pwd:{
required: true,
ok: true,
},
pwded:{
required: true,
equalTo: '#pwd'
},
uname:{
required: true,
rangelength: [2, 10],
remote: {
url: checkUnameUrl,
type: "post",
dataType: "json",
data: {
uname: function () {
return $("#uname").val().trim();
}
}
}
},
verify:{
required: true,
remote: {
url: checkVerifyUrl,
type: 'post',
dataType: 'json',
data: {
verify: function () {
return $('#verify').val().trim();
}
}
}
}
}, // 提示消息
messages:{
account:{ //form表单中input[name='account']元素的提示信息
required: '账号不能为空', // 输入为空时提示
remote: '账号已存在' // 异步获得json数据为'false'时提示,也就是后台验证失败
},
pwd:{
required: '密码不能为空',
},
pwded:{
required: '请确认密码',
equalTo: '两次密码不一致'
},
uname:{
required: '请填写您的昵称',
rangelength: '昵称必须在{0}-{1}个字之间',
remote: '昵称已存在'
},
verify:{
required: '请输入验证码',
remote: '验证码有误'
}
}, // 错误标签元素
errorElement: 'span', // 错误提示位置
errorPlacement: function (error, element) { // error是错误信息的提示元素,element是当前input域
error.appendTo(element.parent()).prev('.success').remove(); //追加提示元素,去掉之前的成功元素
}, // 验证通过
success: function (span) { // span 是错误的提示元素
span.removeClass('error').addClass('success').siblings('.success').remove(); //追加成功样式,去掉错误样式和重复的成功样式
}
}); })

errorElement 的CSS样式:

input.error{ /*...*/ }     /* 输入框  的错误样式 */
input.valid{ /*...*/ } /* 输入框 的成功样式 */
span.error{ /*...*/ } /* 提示元素的错误样式 */
span.success{ /*...*/ } /* 提示元素的成功样式 */

 

jQuery Validate插件 验证实例的更多相关文章

  1. jQuery Validate 插件验证,,返回不同信息(json remote)自定义

    问题 申请账号需要确认该账号是存在 jquery.validate.js中的remote Jquery Ajax获取后台返回的Json数据后,添加自定义校验 解题思路:输入的登陆信息远程验证是否该账号 ...

  2. jQuery Validate 插件为表单提供了强大的验证功能

    之前项目开发中,表单校验用的jQuery Validate 插件,这个插件为表单提供了强大的验证功能,让客户端表单验证变得更简单,同时提供了大量的定制选项,满足应用程序各种需求.该插件捆绑了一套有用的 ...

  3. jQuery Validate插件实现表单强大的验证功能

    转自:http://www.jb51.net/article/76595.htm jQuery Validate插件捆绑了一套有用的验证方法,包括 URL 和电子邮件验证,同时提供了一个用来编写用户自 ...

  4. 前端验证,jquery.validate插件

    jQuery Validate 简介: jQuery Validate 插件为表单提供了强大的验证功能,让客户端表单验证变得更简单,同时提供了大量的定制选项,满足应用程序各种需求.该插件捆绑了一套有用 ...

  5. jQuery Validate 插件

    >>>>>>>>>>>>>>>>>>>>>>>>> ...

  6. jquery.validate插件在booststarp中的运用

    现在在网络上已经可以找到很多基于bootstarp的表单认证,但是验证的都不全面的,下载后,我们还要理解作者的思路然后进行修改添加,这种修改方式往往适合学习,时间很多的时候.但是我们很多时候是没有时间 ...

  7. jquery validate 插件使用小结

    项目中整合了jquery validate插件,仿照别人的使用写了我的表单验证,结果不起作用.然后就各种找原因. 在网上下了jquery validate插件的完整包,看了看里边的例子,跟我的使用貌似 ...

  8. 【jQuery】(6)---jQuery validate插件

    jQuery  validate插件 一.导入js库                                      先导入jQuery库,然后导入Validate插件,如果是中文提示还需要 ...

  9. JQuery Validate插件与实现

    菜鸟拙见,望请纠正 一:效果展示:以下是两个注册表单验证,左边使用Jquery validate插件实现,右边是自己用JQuery实现,效果差不多,但个人推荐用插件,毕竟前人栽了树而且长大了后人当然好 ...

随机推荐

  1. Ubuntu编译内核树

    什么是内核树?刚开始我也没弄明白,通过这几天的学习,有所感悟,就说说我的理解吧!从形式上看,内核树与内核源码的目录结构形式是相同的,都是由各个层次的文件目录结构组成,但是其中的具体内容肯定是不同的.从 ...

  2. 如何实时获取DBGrid 中当前单元格输入的内容?

    如何获取DBGrid 中当前单元格输入的内容? 还没输入完成,我想实时获取 Cell中的内容,以便作其他处理, 用什么事件呢? 所以Field的Onchange事件是没用的. 这个问题简单啊,每输入1 ...

  3. MATLAB中imfilter函数

    功能:对任意类型数组或多维图像进行滤波. 用法:B = imfilter(A,H) B = imfilter(A,H,option1,option2,...) 或写作g = imfilter(f, w ...

  4. cf Round 587

    A.Duff and Weight Lifting(思维) 显然题目中只有一种情况可以合并 2^a+2^a=2^(a+1).我们把给出的mi排序一下,模拟合并操作即可. # include <c ...

  5. Codeforces Round #524 Div. 2 翻车记

    A:签到.room里有一个用for写的,hack了一发1e8 1,结果用了大概600+ms跑过去了.惨绝人寰. #include<iostream> #include<cstdio& ...

  6. hadoop 将HDFS上多个小文件合并到SequenceFile里

    背景:hdfs上的文件最好和hdfs的块大小的N倍.如果文件太小,浪费namnode的元数据存储空间以及内存,如果文件分块不合理也会影响mapreduce中map的效率. 本例中将小文件的文件名作为k ...

  7. [luogu2783] 有机化学之神偶尔会做作弊

    题目链接 洛谷. Solution 边双缩点然后\(lca\)跑\(dis\)就好了. 注意这里是边双,不知道为啥所有题解都说的是点双. 边双是定义在点上的,即每个点只属于一个边双:点双是定义在边上的 ...

  8. BZOJ4553:[HEOI2016/TJOI2016]序列——题解

    https://www.lydsy.com/JudgeOnline/problem.php?id=4553 佳媛姐姐过生日的时候,她的小伙伴从某宝上买了一个有趣的玩具送给他.玩具上有一个数列,数列中某 ...

  9. 洛谷 P1979 华容道 解题报告

    P1979 华容道 题目描述 小\(B\)最近迷上了华容道,可是他总是要花很长的时间才能完成一次.于是,他想到用编程来完成华容道:给定一种局面, 华容道是否根本就无法完成,如果能完成, 最少需要多少时 ...

  10. bzoj1045: [HAOI2008] 糖果传递(思维题)

    首先每个人一定分到的糖果都是所有糖果的平均数ave. 设第i个人给i-1个人Xi个糖果,则有Ai-Xi+X(i+1)=ave. 则A1-X1+X2=ave,A2-X2+X3=ave,A3-X3+X4= ...