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插件HighCharts绘制简单2D柱状图效果示例【附demo源码】
Mar 21 jQuery
jQuery第一次运行页面默认触发点击事件的实例
Jan 10 jQuery
jQuery+ajax实现动态添加表格tr td功能示例
Apr 23 jQuery
jquery实现的简单轮播图功能【适合新手】
Aug 17 jQuery
jQuery 点击获取验证码按钮及倒计时功能
Sep 20 jQuery
基于jquery实现九宫格拼图小游戏
Nov 30 jQuery
jQuery中DOM常见操作实例小结
Aug 01 jQuery
jquery实现的分页显示功能示例
Aug 23 jQuery
js与jquery获取input输入框中的值实例讲解
Feb 27 jQuery
jQuery实现点击滚动到指定元素上的方法分析
Mar 19 jQuery
JQuery事件冒泡和默认行为代码实例
May 13 jQuery
jQuery实现简单三级联动效果
Sep 05 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
浅谈电磁辐射对健康的影响
2021/03/01 无线电
ubuntu10.04配置 nginx+php-fpm模式的详解
2013/06/03 PHP
PHP多线程编程之管道通信实例分析
2015/03/07 PHP
javascript 触发事件列表 比较不错
2009/09/03 Javascript
Mootools 1.2 手风琴(Accordion)教程
2009/09/15 Javascript
JavaScript 实现类的多种方法实例
2013/05/01 Javascript
原生JavaScript生成GUID的实现示例
2014/09/05 Javascript
基于jQuery实现放大镜特效
2020/10/19 Javascript
AngularJS之依赖注入模拟实现
2016/08/19 Javascript
JavaScript运动框架 多物体任意值运动(三)
2017/05/17 Javascript
js中bool值的转换及“&amp;&amp;”、“||”、 “!!”详解
2017/12/21 Javascript
JavaScript实现封闭区域布尔运算的示例代码
2018/06/25 Javascript
JavaScript原型对象、构造函数和实例对象功能与用法详解
2018/08/04 Javascript
详解Webpack如何引入CDN链接来优化编译后的体积
2019/06/21 Javascript
基于javascript的无缝滚动动画1
2020/08/07 Javascript
JavaScript用document.write()输出换行的示例代码
2020/11/26 Javascript
Python实现CET查分的方法
2015/03/10 Python
在Python下进行UDP网络编程的教程
2015/04/29 Python
使用python脚本实现查询火车票工具
2018/07/19 Python
python抓取多种类型的页面方法实例
2019/11/20 Python
python异常处理try except过程解析
2020/02/03 Python
Django model.py表单设置默认值允许为空的操作
2020/05/19 Python
python中Ansible模块的Playbook的具体使用
2020/05/28 Python
python实现PDF中表格转化为Excel的方法
2020/06/16 Python
Python单元测试及unittest框架用法实例解析
2020/07/09 Python
python解压zip包中文乱码解决方法
2020/11/27 Python
猎人靴英国官网:Hunter Boots
2017/02/02 全球购物
美国演唱会订票网站:Ticketmaster美国
2017/10/05 全球购物
Pretty Little Thing美国:时尚女性服饰
2018/08/27 全球购物
Currentbody德国站:健康与美容技术专家
2020/04/05 全球购物
求最大连续递增数字串(如"ads3sl456789DF3456ld345AA"中的"456789")
2015/09/11 面试题
电大毕业生自我鉴定
2013/11/10 职场文书
工伤私了协议书范本
2014/11/24 职场文书
数学教师个人总结
2015/02/06 职场文书
2016年大学迎新晚会工作总结
2015/10/15 职场文书
女人创业励志语录,句句蕴含能量,激发你的潜能
2019/08/20 职场文书