jquery.validate中使用remote,remote相同值不校验问题解决
jquery.validate中使用remote,
remote相同值不校验问题解决
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
蕃薯耀 2015年9月24日 16:18:45 星期四
http://fanshuyao.iteye.com/
remote使用方法:
remote: {
async:false,//默认为异步请求,设置false为同步
url: $("#basePath").val() + "/checkPhoneValidateCode",
//后台处理程序。远程地址只能输出 "true" 或 "false",不能有其他输出。
type: "post" //数据发送方式
}
remote没有结果处理函数,服务器校验后只能输出 "true" 或 "false",不能有其他输出。
remote默认会把校验的属性和值作为参数传到服务器。
而data可以增加其他参数。
remote: {
url: "check-email.php", //后台处理程序
type: "post", //数据发送方式
dataType: "json", //接受数据格式
data: { //要传递的数据
username: function() {
return $("#username").val();
}
}
}
问题描述:
在jquery.validate中使用remote,但是remote只是校验第一次,如果通过了,下次及之后都不会再向服务器请求。
例如验证码,先输入验证码,校验通过后,然后点击换一个验证码,验证码的校验一样是通过的,因为remote没有再向服务器重新发送校验请求。
原因是jquery.validate代码中使用了如下代码:
意思是如果之前已经校验了,则直接使用之前的验证结果。
if ( previous.old === value ) {
return previous.valid;
}
解决方法一:(不推荐)
在jquery.validate.js中找到代码,然后把上面的代码注释掉。
但这种方法不被推荐,怕影响到使用功能。
解决方法二:
既然有数据之前的验证结果,我们就可以把之前的验证结果清除。
($(".remote")为jquery选择器,.remote为自己设置的Class。)
/**
* 移除validate的缓存数据
*/
function clearPreviousValue(){
if($(".remote").data("previousValue")){
$(".remote").removeData("previousValue");
}
};
或者设置为Null
/**
* 移除validate的缓存数据
*/
function clearPreviousValue(){
if($(".remote").data("previousValue")){
$(".remote").data("previousValue").old = null;
}
};
可以给需要远程校验的属性加上一个change事件,清除之前校验结果,这样就方便很多。
$("#phone,#phoneValidateCode").change(function(){
clearPreviousValue();
});
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
蕃薯耀 2015年9月24日 16:18:45 星期四
http://fanshuyao.iteye.com/
jquery.validate中使用remote,remote相同值不校验问题解决的更多相关文章
- 用JQuery Validate框架,在IE8下验证报错问题解决
网站后台用了JQuery Validate框架,版本是jQuery Validation Plugin 1.8.1 因为用的时间比较久了,一直没有更新新版本. 最近公司信息录入员有调整,没有IE11浏 ...
- jquery.validate.js表单验证
一.用前必备官方网站:http://bassistance.de/jquery-plugins/jquery-plugin-validation/ API: http://jquery.bassist ...
- ASP.NET MVC Jquery Validate 表单验证的多种方式
在我们日常开发过程中,前端的表单验证很重要,如果这块处理不当,会出现很多bug .但是如果处理的好,不仅bug会很少,用户体验也会得到很大的提升.在开发过程中我们可以不借助 JS 库,自己去手写 JS ...
- jQuery.Validate验证库详解
一.用前必备官方网站:http://bassistance.de/jquery-plugins/jquery-plugin-validation/ API: http://jquery.bassist ...
- jquery.validate+jquery.form提交的三种方式
原文:http://www.cnblogs.com/datoubaba/archive/2012/06/06/2538873.html jquery.validate+jquery.form提交的三种 ...
- jQuery.Validate验证库
一.用前必备官方网站:http://bassistance.de/jquery-plugins/jquery-plugin-validation/ API: http://jquery.bassist ...
- [转]ASP.NET MVC Jquery Validate 表单验证的多种方式介绍
在我们日常开发过程中,前端的表单验证很重要,如果这块处理不当,会出现很多bug .但是如果处理的好,不仅bug会很少,用户体验也会得到很大的提升.在开发过程中我们可以不借助 JS 库,自己去手写 JS ...
- Jquery Validate 表单验证的多种方式
ASP.NET MVC Jquery Validate 表单验证的多种方式 在我们日常开发过程中,前端的表单验证很重要,如果这块处理不当,会出现很多bug .但是如果处理的好,不仅bug会很少,用户体 ...
- 【转】jquery.validate.js表单验证
一.用前必备官方网站:http://bassistance.de/jquery-plugins/jquery-plugin-validation/ API: http://jquery.bassist ...
随机推荐
- svn删除目录后提交显示Item 'XXXX' is out of date解决方法
1.在要删除的目录上执行 svn 的 Delete 2.来到要删除目录的上级目录,执行更新操作. 3.找到要删除的目录,会显示冲突状态,在这个目录上执行Resolved. 4.在这个要删除的目录上 ...
- 以面到点的学习MFC
市面上讲解学习MFC的书籍不胜其多,但是阅读的同学呢,看了一些内容以后,就无法阅读下去了,觉得MFC好难,有的呢,就会直接去看别人写的程序,不管是大或小,有时候也能明白一点点,但是总是走不出自己开发设 ...
- 关于java IO 过程当中同时读写的问题
今天在写一个linux的java守护进程的时候,无意间就用到了java同时读写的功能. 看错误代码: package cn.sunchuanzhen.main; import java.io.Buff ...
- jQuery对象和DOM对象原来不一样啊
jQuery对象和DOM对象使用说明,需要的朋友可以参考下.1.jQuery对象和DOM对象第一次学习jQuery,经常分辨不清哪些是jQuery对象,哪些是 DOM对象,因此需要重点了解jQuery ...
- [转]CharacterController与Rigidbody
From: http://blog.csdn.net/czlilove/article/details/9139103 今天下午碰到个问题纠结了很久:人物加上了Rigidbody并使用了重力,遇到悬崖 ...
- 【数据结构】之二叉树的java实现
转自:http://blog.csdn.net/wuwenxiang91322/article/details/12231657 二叉树的定义: 二叉树是树形结构的一个重要类型.许多实际问题抽象出来的 ...
- eclipse 常用快捷键整理
1.整理代码的快捷键ctrl+shift + F 2.跳转代码行ctrl+L 3.可以列出所有快捷键 Ctrl+Shift+L
- JavaScript---网络编程(10)--DHTML技术演示(3)-多选框
这节讲述多选框的使用,当然,肯定是结合css和Javascript一起的. checkbox的使用1: 演示代码: <html> <head> <meta http-eq ...
- Web前端常见问题处理
1. 浏览器后退按钮 这个在注册或者登陆的时候是一个普遍的问题,登陆之后,跳转到另外一个页面,我的鼠标有两个侧键,是用于前进和后退的,有时候会误点侧键,这个时候页面又会回到之前的登录页面,但事实是用户 ...
- C语言中的宏
写好C语言,漂亮的宏定义很重要,使用宏定义可以防止出错,提高可移植性,可读性,方便性 等等.下面列举一些成熟软件中常用得宏定义...... 1,防止一个头文件被重复包含 #ifndef COMDEF_ ...