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插件FusionCharts绘制2D环饼图效果示例【附demo源码】
Apr 10 jQuery
如何将 jQuery 从你的 Bootstrap 项目中移除(取而代之使用Vue.js)
Jul 17 jQuery
jquery实现侧边栏左右伸缩效果的示例
Dec 19 jQuery
jQuery实现的鼠标响应缓冲动画效果示例
Feb 13 jQuery
基于jquery实现左右上下移动效果
May 02 jQuery
jQuery获取随机颜色的实例代码
May 21 jQuery
jQuery中$原理实例分析
Aug 13 jQuery
jQuery使用each遍历循环的方法
Sep 19 jQuery
jQuery 获取除某指定对象外的其他对象 ( :not() 与.not())
Oct 10 jQuery
jquery插件开发模式实例详解
Jul 20 jQuery
jQuery实现的移动端图片缩放功能组件示例
May 01 jQuery
jQuery实现移动端下拉展现新的内容回弹动画
Jun 24 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程序员的13个好习惯小结
2012/02/20 PHP
深入解析php之apc
2013/05/15 PHP
解析如何用php screw加密php源代码
2013/06/20 PHP
PHP文件操作之获取目录下文件与计算相对路径的方法
2016/01/08 PHP
打豆豆小游戏 用javascript编写的[打豆豆]小游戏
2013/01/08 Javascript
js解析与序列化json数据(三)json的解析探讨
2013/02/01 Javascript
jquery入门必备的基本认识及实例(整理)
2013/06/24 Javascript
js实现动态添加、删除行、onkeyup表格求和示例
2013/08/18 Javascript
DOM基础教程之事件对象
2015/01/20 Javascript
jQuery选择器之基本选择器与层次选择器
2015/03/03 Javascript
JavaScript通过元素索引号删除数组中对应元素的方法
2015/03/18 Javascript
jQuery实现提交按钮点击后变成正在处理字样并禁止点击的方法
2015/03/24 Javascript
深入分析下javascript中的[]()+!
2015/07/07 Javascript
JavaScript实现文字跟随鼠标特效
2015/08/06 Javascript
javascript跨域总结之window.name实现的跨域数据传输
2015/11/01 Javascript
详解基于Bootstrap扁平化的后台框架Ace
2015/11/27 Javascript
JS中的forEach、$.each、map方法推荐
2016/04/05 Javascript
Vue.js每天必学之过滤器与自定义过滤器
2016/09/07 Javascript
原生js实现电商侧边导航效果
2017/01/19 Javascript
vue实现app页面切换动画效果实例
2017/05/23 Javascript
BootStrap表单控件之文本域textarea
2017/05/23 Javascript
iview同时验证多个表单问题总结
2018/09/29 Javascript
js中的深浅拷贝问题简析
2019/05/10 Javascript
VScode格式化ESlint方法(最全最好用方法)
2019/09/10 Javascript
[14:57]DOTA2 HEROS教学视频教你分分钟做大人-幽鬼
2014/06/13 DOTA
Zabbix实现微信报警功能
2016/10/09 Python
python 读取txt,json和hdf5文件的实例
2018/06/05 Python
Python使用numpy模块实现矩阵和列表的连接操作方法
2019/06/26 Python
python OpenCV GrabCut使用实例解析
2019/11/11 Python
解决Jupyter notebook中.py与.ipynb文件的import问题
2020/04/21 Python
python 基于selectors库实现文件上传与下载
2020/12/31 Python
班级心理活动总结
2014/07/04 职场文书
领导党的群众路线教育实践活动个人对照检查材料
2014/09/23 职场文书
python中sys模块的介绍与实例
2021/04/17 Python
详解如何用Python实现感知器算法
2021/06/18 Python
在Docker容器中部署SQL Server
2022/04/11 Servers