表单校验插件Validate.js&自定义规则校验

一、jquery插件

网络上有许多成熟的插件供使用者参考,插件就是将jquery实现的常用操作进行封装,封装后的小框架就可以叫做插件,按照插件的语法去操作可以实现很多复杂的功能,而这些复杂功能的背后实现我们可以不必懂。
jQuery Validate 插件为表单提供了强大的验证功能,让客户端表单验证变得更简单,同时提供了大量的定制选项,满足应用程序各种需求。该插件捆绑了一套有用的验证方法,包括 URL 和电子邮件验证,同时提供了一个用来编写用户自定义方法的 API。

二、使用Validate插件

步骤:

1.导入js库,将jquery的原始文件和插件文件jquery.validate.js导入到工程中

因为validate是JQuery的插件,所以必须先导入JQuery和validate的JS包

<script src="js/jquery-1.11.3.min.js" type="text/javascript"></script>
<!--引入validation.js插件-->
<script src="js/jquery.validate.min.js" type="text/javascript"></script>
2.编写js代码对表单进行验证

表单验证的格式:

$("form表单的选择器").validate(json数据格式);  //键值对  键:值({})
json数据格式:
{
  rules:{
        表单项name值:校验规则,
        表单项name值:校验规则... ...
  },
  messages:{
        表单项name值:错误提示信息,
        表单项name值:错误提示信息... ...
  }
  }

代码实例

$(function(){
	$("#myform").validate({
		rules:{
			"username":{
				"required":true,
				"checkUsername":true
			},
			"password":{
				"required":true,
				"rangelength":[6,12]
			},
			"repassword":{
				"required":true,
				"rangelength":[6,12],
				"equalTo":"#password"
			},
			"email":{
				"required":true,
				"email":true
			},
			"sex":{
				"required":true
			}
		},


		messages:{
			"username":{
				"required":"用户名不能为空",
				"checkUsername":"用户名已存在"
			},
			"password":{
				"required":"密码不能为空",
				"rangelength":"密码长度6-12位"
			},
			"repassword":{
				"required":"密码不能为空",
				"rangelength":"密码长度6-12位",
				"equalTo":"两次密码不一致"
			},
			"email":{
				"required":"邮箱不能为空",
				"email":"邮箱格式不正确"
			}
		}
	});
});

3.自定义错误显示标签

当错误提示信息不按照我们预想的位置显示时,我们可以按照如下方式进行设置自定义错误显示标签放在我们需要显示的位置,当此表单项验证不通过时会将此信息自动显示出来,jquery验证插件会自动帮助我们控制它的显示与隐藏。

<lable for="html元素name值" class="error" style="display:none">错误信息</lable>

在这里插入图片描述

三、自定义规则校验

如果预定义的校验规则尚不能满足需求的话可以进行自定义校验规则

步骤

1. 使用$.validator.addMethod(“校验规则名称”,function(value,element,params)){}
2. 在rules中通过校验规则名称使用校验规则
3. 在messages中定义该规则对应的错误提示信息

其中: value是校验组件的value值;element是校验组件的节点对象;params是校验规则的参数

代码实例

/*自定义校验规则,实现ajax异步  */
$.validator.addMethod(
	//规则的名称
	"checkUsername",
	//校验的函数,这个是验证所调用函数(校验函数),传入三个参数
	function(value,element,params){
		//定义一个标志
		var flag=false;
		//value:输入的内容(表单元素输入的内容,如果此时username表单元素绑定了该校验规则,那么value就是在触发此校验规则时,用户输入的用户名)
		//element:被校验的元素对象
		//params:规则对应的参数值(例:在required:true 传入的params就是true)
		
		//目的:对输入的username进行ajax校验	
		$.ajax({
			//这里必须是同步操作,所以不能使$.post()]和$.get()
			"async":false,
			"url":"${pageContext.request.contextPath}/checkUsername",
			"data":{"username":value},
			type:"POST",
			"dataType":"json",
			"success":function(data){
				flag=data.isExist;
			}
		});
		
		//返回false代表该校验器不通过
		return !flag;
		
		}
	//还可以有一个参数,检验的提示
	//,"请正确填写您的邮政编码"
);
  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值