jQuery Validate插件ajax方式验证输入值的实例


Posted in jQuery onDecember 21, 2017

项目中经常会遇到需要后台验证问题,如用户名、用户账号是否存在等。使用jQuery Validate插件可以使用remote校验规则完成验证。

示例:

一.基本用法

1.需要验证的表单

<form id="registForm"> 
 <input type="text" id="username" name="username"> 
</form>

2.js

使用remote校验规则,最简单粗暴的写法是remote: url,此时请求的url后面自动拼接当前验证的值,例如下面的写法,请求的url为:xxx/checkUsername.do?username=test

// 导入jquery、validte库略
$(function() {
	$.validator.setDefaults({
		submitHandler: function(form) {
			// 验证通过处理
			...
		}
	});
				
	$("#registForm").validate({
		rules: {
			username: {
				required: true,
				remote: "checkUsername.do"
			},			
		},
		messages: {
			username: {
				required: "用户名不能为空",
				remote: "用户名已经存在"
			}
		}
	});
});

3.后台(Spring MVC测试)

后台响应只能输出true或false,不能有其他数据,true:验证通过,false:验证失败;设置返回类型为boolean或String都可以

(1).返回boolean

@RequestMapping("/checkUsername")
public @ResponseBody boolean checkUsername(@RequestParam String username) {
	// 测试
	return !"test".equals(username);
}

(2).返回String

@RequestMapping("/checkUsername")
public @ResponseBody String checkUsername(@RequestParam String username) {
	// 测试
	return !"test".equals(username) ? "true" : "false";
}

二.其他用法

上面的用法不能满足实际的需求,有时候会有需要提交其他参数、参数名和属性名不一致或请求方式为POST的情况,写法如下:

1.js

使用data选项,也就是jQuery的$.ajax({...})的写法;

提交的数据需要通过函数返回值的方式,直接写值有问题;

默认会提交当前验证的值,也就是下例中的 username: xxx会被默认作为参数提交

....
username: {
	required: true,
	remote: {
		url: "checkUsername.do",
		type: "post",    //数据发送方式
		dataType: "json",   //接受数据格式 
		data: {      //要传递的数据
			username: function() {
				return $("#username").val();
			},
			extra: function() {
				return "额外信息";
			}
		 }
	}
}

2.后台

限制了必须为POST方式请求

@RequestMapping(value = "/checkUsername", method = RequestMethod.POST)
public @ResponseBody boolean checkUsername(User user, @RequestParam String extra) {
	// 测试
	System.out.println(extra);
	return !"test".equals(user.getUsername());
}

参考文章:http://www.runoob.com/jquery/jquery-plugin-validate.html

以上这篇jQuery Validate插件ajax方式验证输入值的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

jQuery 相关文章推荐
jQuery EasyUI之验证框validatebox实例详解
Apr 10 jQuery
jquery平滑滚动到顶部插件使用详解
May 08 jQuery
jquery实现左右轮播图效果
Sep 28 jQuery
jquery ajax异步提交表单数据的方法
Oct 27 jQuery
将jquery.qqFace.js表情转换成微信的字符码
Dec 01 jQuery
JQuery选中select组件被选中的值方法
Mar 08 jQuery
通过jquery获取上传文件名称、类型和大小的实现代码
Apr 19 jQuery
JS与jQuery实现ListBox上移,下移,左移,右移操作功能示例
May 31 jQuery
vue-cli 引入jQuery,Bootstrap,popper的方法
Sep 03 jQuery
JQuery实现ajax请求的示例和注意事项
Dec 10 jQuery
jquery实现自定义树形表格的方法【自定义树形结构table】
Jul 12 jQuery
JQuery+drag.js上传图片并且实现图片拖曳
Nov 18 jQuery
webpack写jquery插件的环境配置
Dec 21 #jQuery
jQuery进阶实践之利用最优雅的方式如何写ajax请求
Dec 20 #jQuery
jQuery实现动态控制页面元素的方法分析
Dec 20 #jQuery
jquery自定义显示消息数量
Dec 19 #jQuery
jquery实现侧边栏左右伸缩效果的示例
Dec 19 #jQuery
jquery中done和then的区别(详解)
Dec 19 #jQuery
jQuery实现弹窗下底部页面禁止滑动效果
Dec 19 #jQuery
You might like
PHP实现扎金花游戏之大小比赛的方法
2015/03/10 PHP
Laravel 5框架学习之Blade 简介
2015/04/08 PHP
PHP读取文件内容的五种方式
2015/12/28 PHP
PHP实现JS中escape与unescape的方法
2016/07/11 PHP
如何修改yii2.0自带的user表为其它的表
2017/08/01 PHP
laravel实现分页样式替换示例代码(增加首、尾页)
2017/09/22 PHP
浅谈php使用curl模拟多线程发送请求
2019/03/08 PHP
JQuery 学习笔记 选择器之一
2009/07/23 Javascript
JS实现点击下载的小例子
2013/07/10 Javascript
NodeJS实现阿里大鱼短信通知发送
2016/01/17 NodeJs
深入浅出ES6新特性之函数默认参数和箭头函数
2016/08/01 Javascript
浅谈javascript控制HTML5的全屏操控,浏览器兼容的问题
2016/10/10 Javascript
Bootstrap导航条学习使用(二)
2017/02/08 Javascript
javascript基本常用排序算法解析
2017/09/27 Javascript
利用HBuilder打包前端开发webapp为apk的方法
2017/11/13 Javascript
浅谈vue引入css,less遇到的坑和解决方法
2018/01/20 Javascript
微信小程序实现滑动切换自定义页码的方法分析
2018/12/29 Javascript
如何在Node和浏览器控制台中打印彩色文字
2020/01/09 Javascript
JS实现盒子拖拽效果
2020/02/06 Javascript
使用python编写批量卸载手机中安装的android应用脚本
2014/07/21 Python
python选择排序算法实例总结
2015/07/01 Python
Python中struct模块对字节流/二进制流的操作教程
2017/01/21 Python
django静态文件加载的方法
2018/05/20 Python
Numpy 改变数组维度的几种方法小结
2018/08/02 Python
python 限制函数执行时间,自己实现timeout的实例
2019/01/12 Python
python 读取dicom文件,生成info.txt和raw文件的方法
2019/01/24 Python
python正则表达式实例代码
2020/03/03 Python
使用python批量修改XML文件中图像的depth值
2020/07/22 Python
python识别验证码的思路及解决方案
2020/09/13 Python
Python爬虫之Selenium中frame/iframe表单嵌套页面
2020/12/04 Python
python利用pytesseract 实现本地识别图片文字
2020/12/14 Python
道路交通事故赔偿协议书
2014/10/24 职场文书
万能检讨书
2015/01/27 职场文书
中国合伙人观后感
2015/06/02 职场文书
Python网络编程之ZeroMQ知识总结
2021/04/25 Python
mysql外连接与内连接查询的不同之处
2021/06/03 MySQL