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 ui sortable拖拽后保存位置
Apr 27 jQuery
jQuery extend()详解及简单实例
May 06 jQuery
Jquery EasyUI $.Parser
Jun 02 jQuery
jquery插件canvaspercent.js实现百分比圆饼效果
Jul 18 jQuery
原生js jquery ajax请求以及jsonp的调用方法
Aug 04 jQuery
使用jquery的jsonp如何发起跨域请求及其原理详解
Aug 17 jQuery
jQuery实现鼠标响应式淘宝动画效果示例
Feb 13 jQuery
jQuery幻灯片插件owlcarousel参数说明中文文档
Feb 27 jQuery
jQuery实现侧边栏隐藏与显示的方法详解
Dec 22 jQuery
jQuery实现小火箭返回顶部特效
Feb 03 jQuery
jQuery插件simplePagination的使用方法示例
Apr 28 jQuery
jQuery 函数实例分析【函数声明、函数表达式、匿名函数等】
May 19 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文件下载类
2006/12/06 PHP
从Web查询数据库之PHP与MySQL篇
2009/09/25 PHP
PHP学习之输出字符串(echo,print,printf,print_r和var_dump)
2011/04/17 PHP
php实现zip压缩文件解压缩代码分享(简单易懂)
2014/05/10 PHP
php读取torrent种子文件内容的方法(测试可用)
2016/05/03 PHP
JavaScript入门教程(8) Location地址对象
2009/01/31 Javascript
jQuery toggle()设置CSS样式
2009/11/05 Javascript
JQuery 动态扩展对象之另类视角
2010/05/25 Javascript
jQuery LigerUI 插件介绍及使用之ligerDrag和ligerResizable示例代码打包
2011/04/06 Javascript
javascript中的Function.prototye.bind
2015/06/25 Javascript
AngularJS基础 ng-switch 指令简单示例
2016/08/03 Javascript
浅谈JavaScript 数据属性和访问器属性
2016/09/01 Javascript
解决Mac node版本升级失败的问题
2018/05/16 Javascript
在vue项目中引入高德地图及其UI组件的方法
2018/09/04 Javascript
详解Angular5/Angular6项目如何添加热更新(HMR)功能
2018/10/10 Javascript
使用nodejs分离html文件里的js和css详解
2019/04/12 NodeJs
vue配置文件实现代理v2版本的方法
2019/06/21 Javascript
layui-table获得当前行的上/下一行数据的例子
2019/09/24 Javascript
vue+element表格导出为Excel文件
2019/09/26 Javascript
js实现简单掷骰子小游戏
2019/10/24 Javascript
js实现飞机大战游戏
2020/08/26 Javascript
JS实现鼠标移动拖尾
2020/12/27 Javascript
[44:10]2018DOTA2亚洲邀请赛 4.5 淘汰赛 EG vs VP 第一场
2018/04/06 DOTA
python django 实现验证码的功能实例代码
2017/05/18 Python
python 全局变量的import机制介绍
2017/09/07 Python
利用Python查看微信共同好友功能的实现代码
2019/04/24 Python
python实现经纬度采样的示例代码
2020/12/10 Python
Myprotein俄罗斯官网:欧洲第一运动营养品牌
2019/05/05 全球购物
伦敦一家领先的精品零售商:IRIS Fashion
2019/05/24 全球购物
英国曼彻斯特宠物用品品牌:Bunty Pet Products
2019/07/27 全球购物
计算机专业毕业生的自我评价
2013/11/18 职场文书
党员领导干部民主生活会批评与自我批评发言
2014/09/28 职场文书
工作失职检讨书500字
2014/10/17 职场文书
2014年学校党建工作汇报材料
2014/11/02 职场文书
Redis如何使用乐观锁(CAS)保证数据一致性
2022/03/25 Redis
javascript进阶篇深拷贝实现的四种方式
2022/07/07 Javascript