自定义注册、登录的校验规则(自定义validate校验规则)

2023-11-08

在做项目时,有一个校验用户信息的步骤,分为前端校验和后台校验,前端校验已经存在了许多插件方便了我们的使用,如validate。然而有些时候我们要用的校验规则插件中并没有,这就需要我们自定义校验规则了。接下来讲述一下validate的使用和自定义规则进行验证。
validate进行表单验证的格式为:$("form表单的选择器”).validate(json数据格式);
json数据格式如下所示:

rules:{
表单项name值:{校验规则},
表单项name值:{校验规则},

},
messages:{
表单项name值:{错误提示信息},
表单项name值:{错误提示信息},

}

代码如下所示:

$("#myform").validate({
			rules:{
				"username":{
					"required":true,
				},
				"password":{
					"required":true,
					"rangelength":[6,12]
				},
				"repassword":{
					"required":true,
					"rangelength":[6,12],
					"equalTo":"#password"
				}
			},
			messages:{
				"username":{
					"required":"用户名不能为空",
				},
				"password":{
					"required":"密码不能为空",
					"rangelength":"密码长度6-12位"
				},
				"repassword":{
					"required":"密码不能为空",
					"rangelength":"密码长度6-12位",
					"equalTo":"两次密码不一致"
				}
			}
		});

比如现在我要进行注册,要验证我注册的用户名是否已经存在。如上述代码中表示validate中已存在required,rangelength等规则,在查询validate的官方文档后发现并没有校验用户名是否已存在的规则,此时就需要我们自定义规则了。
validate的自定义校验规则如下:
$.validator.addMethod("校验规则名称”,function(value,element,params)){};
以添加校验用户名是否已存在为例(代码如下):

//自定义校验规则
	$.validator.addMethod(
		//校验规则的名称
		"checkUsername",
		//校验的函数
		function(value,element,params){   
		    //value:输入的内容,即获取到输入的值
			//element:被校验的元素对象,即节点
			//params:规则对应的参数值
			//定义一个标志
			var flag = false;			
			//校验方法:采用ajax对输入的username进行校验
			$.ajax({
				"async":false, //这里false表示同步提交数据,否则flag的值不会改变
			    "url":"${pageContext.request.contextPath}/checkUsername",
				"data":{"username":value},
				"type":"POST",
				"dataType":"json",
				"success":function(data){
					flag = data.isExist;
				}
			});
			//仅当!flag=true时校验器才表示通过校验,否则就会显示错误提示。
			return !flag;
		}
	);

上述代码大意就是给validate添加了一个叫checkUsername的方法用于校验用户名是否存在,通过ajax提交数据用于验证。接下来就是使用了:

$(function() {
		$("#myform").validate({
			rules:{
				"username":{
					"required":true,
					"checkUsername":true
				}
			},
			messages:{
				"username":{
					"required":"用户名不能为空",
					"checkUsername":"用户名已存在"
				}
			}
		});
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

自定义注册、登录的校验规则(自定义validate校验规则) 的相关文章

  • package.xml个人总结

    https zhuanlan zhihu com p 57030010 https blog csdn net sinat 16643223 article details 114067299 这是prometheus control功能包
  • Doxygen使用教程(个人总结)

    简介Doxygen 一 xff0e 什么是Doxygen Doxygen 是一个程序的文件产生工具 xff0c 可将程序中的特定批注转换成为说明文件 通常我们在写程序时 xff0c 或多或少都会写上批注 xff0c 但是对于其它人而言 xf
  • 我的2013

    今天是2013年的最后一天 天气格外的晴朗 站在公司的写字楼上 能够看到远处的山水 一直都习惯在一年的最后总结一下 总结自己哪些地方在成长 哪些地方有收获 哪些地方需要改进 但是最近一两年来 却很难回忆一些什么 因为每天都过的差不多 今天下
  • 基于unity+高通AR项目的一些总结

    今天 公司做的第一款AR项目终于在苹果appstore上架了 将近三个多月的踩坑和摸索也终于告一段落了 接下来就是不断的进行版本优化和更新 这将是一个漫长的过程 在此 对自己三个多月的开发做一个阶段性的总结 也希望能够帮到一些正在用unit
  • angular-cli中配置proxy代理

    1 先在angular cli目录下新建 proxy config json 文件 文件内容如下 其中 我请求的接口URL 是 http 172 20 1 26 8082 api back common getVerifyCode back
  • 抽奖组件lucky-canvas

    https 100px net usage wx html 次组件可以画轮盘和九宫格 老虎机抽奖画面
  • 算法笔记-第四章-第六章

    4 1排序 1 选择排序 思路 总共需要进行N趟操作 每次从i n中选出最小的元素并与第I个元素交换 算法的时间复杂度为O n2 假设有数组A i 0 lt i lt n 1 如下 void selectSort for int i 0 i
  • nuxt.js服务端渲染使用flexible.js和postcss-px2rem实现移动端自适应—淘宝弹性布局方案(750px设计稿)

    在用vue做服务端渲染的时候需要对移动端做适配所以要用到postcss 2rem插件 第一步 首先下载flexible js 可加载阿里的cdn文件 http g tbcdn cn mtb lib flexible 0 3 4 flexib
  • react 重定向Redirect

    如果路径是 跳转到 home
  • 支付宝小程序中网络请求 my.request({}) 的用法

    支付宝小程序网络请求官方文档 https docs alipay com mini api network Page data name 支付宝小程序 onLoad query 页面加载 在这里请求接口 console info Page
  • next.js中引入sass

    第一步 安装sass npm install save zeit next sass node sass 第二步 在项目根目录添加 next config js 文件 用于指示Next加载对用的功能 const withSass requi
  • 解决合并单元格筛选时只出现首行的小技巧

    前言 Excel小窍门 让办公更便捷 情景 合并单元格后 单一筛选时只会显示对应的第一行数据 原因 Excel筛选单元格时 遇到不连续区域 即中间有空白单元格 会识别不到后续内容 合并单元格后 除首行外 其余行的值会被自动清空 从而导致在筛
  • [R语言]R包的安装&帮助获取

    本文主要参考 Paul Teetor R语言经典实例 一书 在R语言中 包含的包中有各种应用函数 1 install packages packagename 安装R包 library package name 载入包 对于base包可省略
  • 滑动平均滤波

    滑动平均滤波是一种常用的数字信号处理技术 它可以有效地去除信号中的噪声 提高信号的质量 滑动平均滤波的原理是对信号的每一个采样点 取其周围的若干个点的平均值作为滤波后的值 这样 信号中的随机噪声会被平均掉 而信号中的有用信息会被保留 用C语
  • 《代码走查》杂记

    代码走查 一 定义 1 代码走查 code walkthrough 是一个开发人员与架构师集中与讨论代码的过程 代码走查的目的交换有关代码是如何书写的思路 并建立一个对代码的标准集体阐述 在代码走查的过程中 开发人员都应该有机会向其他人来阐
  • linux入门学习(3权限管理)

    权限管理 一 文件或目录的权限查看 1 文件权限的查看 两种查看文件详细信息的方法 ls l file 查看file文件的详细信息 如果是目录 则是查看该目录下的所有子文件的详细信息 ls ld dir 查看dir目录的详细信息 2 文件权
  • 2020年度 个人随笔

    2020年的年度总结其实很好写 for index in 0 2 Log 我太难了 Log 完 2020年这么难 哪里还有心情写总结 回归正题 总结还是要写的 毕竟人老了就爱回忆 就让往事随风 往事随风 随风 风 前言 马上就是2021年了
  • react 函数组件props的使用

    函数组建的props 1 如何给组件传递数据 给组建的标签添加属性即可 2 函数组件通过props参数就能接受 也可以通过解构props function App props return div h1 我是App组件 props name
  • 互联网公司级别的简单划分(小白总结)

    1 小公司10 20人 2 稍大的公司 外包公司 3 普通上市公司 有限责任公司 股份制公司 4 知名互联网独角兽 5 央企 工作稳定 6 国企 一线国企 全员分红 年终奖 非一线国企 比一线稍差 7 BAT 美团 字节跳动 京东 注意 x
  • win10 的图标丢失了怎么办?

    情况说明 几分钟前 自己手贱 居然一不小心把那D盘的分区表给删了 虽然说是借助DiskGenius即使找了回来 但是一个尴尬的情况出现了 原来装在D盘的程序虽然可以用 但是图标却没了 这对于有强迫症的我来说 让我浑身不舒服 解决方案 首先

随机推荐