[ 转 ] http://www.cnlvzi.com/index.php/Index/article/id/58

最近做验证功能时,用到jquery.validate.js中的remote远程验证方式。
网上查了一下,关于这个remote的资料少之好少,看了一个API介绍,介绍也相当少。
无奈下,只能看了下,jquery.validate.js源码,最终是搞明白了。
以下写下来,方便以后的人,使用。

注意如下内容:

1,远程返回数据时,一定要返回"true"或者"false",否则就是永远就是验证不通过。

2,remote有两种方式,如下就介绍remote与PHP间的验证
(1)meta String方式(当然这种方式要引入jquery.metadata.js)
以下是我的HTML代码

<input type="text" name="moblie" id="jform_moblie" value=""

 class="input {validate:{required:true,telphoneValid:  true,remote:'moblie_register.php?fun=moblie', messages:{required:'请填写手机号码!', telphoneValid:'请输入正确的手机号',remote:'该手机号码已被注册! <a href=login.php target=_blank>登录?</a>'}}}" />

直接remote提交到PHP页面中去。默认提交类型是GET方式提交
PHP代码:

if ($_GET['fun']=='moblie') {//检查手机是否已注册
$moblie_number=trim($_GET['moblie']);
$exists_moblie=$db->query_first("select acc_moblie_number from t_account where
acc_moblie_number='".$moblie_number."'");
if (empty($exists_moblie['acc_moblie_number'])) {
$return['type']='true';
$return['info']='此手机号码可注册!';
}else{
$return['type']='false';
$return['info']='该手机号码已被注册!';
}
exit($return['type']);
}
这样就完成的验证

(2)rules方式

$("#Form2").validate({
rules: { //定义验证规则,其中属性名为表单的name属性
"mail_account": {
required: true,
email: true ,
remote: {
url: '<--?php echo $this--->base;?-->/maileckmail',
type: 'POST',
dateType: 'json',
data: { mail_account:function(){
return $('#mail_account').val();
}
}
} },
},
messages: {
"mail_account": {
email: "请输入正确的邮箱地址(例如 myemail@qq.com)",
remote: "该邮箱已存在!"
},
}
});

PHP代码:

function checkMail(){
$mail_account = $_POST['mail_account'];
if($this->Mail->findByMailAccount($mail_account))
echo 'false';
else
echo 'true';
die();
}

PHP + jquery.validate remote的用法的更多相关文章

  1. jquery.validate remote的用法

    1,远程返回数据时,一定要返回"true"或者"false",否则就是永远就是验证不通过. 2,remote有两种方式,如下就介绍remote与PHP间的验证( ...

  2. jquery.validate.min.js 用法方法示例

    页面html 代码 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://w ...

  3. jquery.validate remote 和 自定义验证方法

    jquery.validate remote 和 自定义验证方法 $(function(){ var validator = $("#enterRegForm").validate ...

  4. jquery validate remote验证唯一性

    jquery.validate.js 的 remote 后台验证 之前已经有一篇关于jquery.validate.js验证的文章,还不太理解的可以先看看:jQuery Validate 表单验证(这 ...

  5. jquery.validate.js表单验证 jquery.validate.js的用法

    jquery.validate.js这个插件已经用了2年多了,是一个不可多得的表单验证最方便快捷的插件.基于jquery的小插件,基本小白一学就会上手,对于项目表单页面比较多,元素比较多的校验,该插件 ...

  6. 关于jquery.validate.js的用法

    // 手机号码验证 jQuery.validator.addMethod("isMobile", function(value, element) {   var length = ...

  7. jQuery Validate 插件验证,,返回不同信息(json remote)自定义

    问题 申请账号需要确认该账号是存在 jquery.validate.js中的remote Jquery Ajax获取后台返回的Json数据后,添加自定义校验 解题思路:输入的登陆信息远程验证是否该账号 ...

  8. ASP.NET MVC Jquery Validate 表单验证的多种方式

    在我们日常开发过程中,前端的表单验证很重要,如果这块处理不当,会出现很多bug .但是如果处理的好,不仅bug会很少,用户体验也会得到很大的提升.在开发过程中我们可以不借助 JS 库,自己去手写 JS ...

  9. [转]ASP.NET MVC Jquery Validate 表单验证的多种方式介绍

    在我们日常开发过程中,前端的表单验证很重要,如果这块处理不当,会出现很多bug .但是如果处理的好,不仅bug会很少,用户体验也会得到很大的提升.在开发过程中我们可以不借助 JS 库,自己去手写 JS ...

随机推荐

  1. 【c语言】二维数组中的查找,杨氏矩阵在一个二维数组中,每行都依照从左到右的递增的顺序排序,输入这种一个数组和一个数,推断数组中是否包括这个数

    // 二维数组中的查找,杨氏矩阵在一个二维数组中.每行都依照从左到右的递增的顺序排序. // 每列都依照从上到下递增的顺序排序.请完毕一个函数,输入这种一个数组和一个数.推断数组中是否包括这个数 #i ...

  2. NYOJ 1067 Compress String(区间dp)

    Compress String 时间限制:2000 ms  |  内存限制:65535 KB 难度:3 描写叙述 One day,a beautiful girl ask LYH to help he ...

  3. DOM编程 --《高性能JavaScript》

    1.重绘和重排 浏览器下载完页面的所有组件 —— HTML标记,CSS,JavaScript,图片,会解析并生成两个内部数据结构. DOM树 表示页面结构 渲染树(CSS) 表示DOM节点如何显示 当 ...

  4. HttpSession and Hibernate session

    一.javax.servlet.http.HttpSession是一个抽象接口   它的产生:J2EE的Web程序在运行的时候,会给每一个新的访问者建立一个HttpSession,这个Session是 ...

  5. 使用zxing编写的二维码生成解析工具:QRCoder

    zxing GitHub地址 QRCoder GitHub地址 TipDialog.java package com.wolf_pan; import java.util.Timer; import ...

  6. java 相关博客

    Intellij Idea 创建Web项目入门(一) SpringMVC 和 MyBatis 学习笔记,搭配示例,主要讲解一些基础的概念.用法和配置 包含框架有:SpringMVC.MyBaits.A ...

  7. aapt2 错误

    android.enableAapt2=false Error:Execution failed for task ':app:preDebugAndroidTestBuild'. > Conf ...

  8. springboot如何使用外部tomcat容器

    一般情况spring-boot-starter-web是自带tomcat(即springboot内嵌tomcat),所以打包直接生成jar包,用java -jar命令就可以启动. 但,有时我们希望用w ...

  9. 安装mysql 8.0版本时,使用front连接报1251错误或者navicat 连接报错2059解决方案

    这个错误出现的原因是在mysql8之前的版本中加密规则为mysql_native_password,而在mysql8以后的加密规则为caching_sha2_password. 解决此问题有两种方法, ...

  10. asp.net cookie and session

    客户端只保存session id,信息存在服务端 Session状态应该存储在两个地方,分别是客户端和服务器端. 客户端只负责保存相应网站的SessionID,而其他的Session信息则保存在服务器 ...