[ 转 ] 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();
}

最新文章

  1. Python体验(08)-图形界面之工具栏和状态栏
  2. 继承ActionSupport,返回INPUT的原因
  3. DataTable或者DataRow转换对象
  4. MHA在线切换过程
  5. 配置phpmyadmin使登录时可填写IP管理多台MySQL 连接多个数据库 自动登录
  6. Java 实现 SSH 协议的客户端登录认证方式--转载
  7. 初步认识ExtJS
  8. c++使用stmp协议发送电子邮件(163邮箱,TTL非SSL)
  9. Kendo UI开发教程(8): Kendo UI 特效概述
  10. samba server 设置
  11. mfc---单文档工程添加消息响应
  12. 数值类型中JDk的编译期检查和编译期优化
  13. 设计模式之中介者模式(Mediator )
  14. html页面转成jsp页面之后样式变化的问题解决方法
  15. windows操作系统python selenium webdriver安装
  16. Windows BAT 命令下del 与 rd 命令
  17. systemctl添加开机启动
  18. 四、Logisitic Regssion练习(转载)
  19. 【2017-03-13】Tsql 数学函数、字符串函数、转换函数、时间日期函数
  20. spark出现task不能序列化错误的解决方法 org.apache.spark.SparkException: Task not serializable

热门文章

  1. poj 3105 Expectation 按位统计
  2. 【转载】FAT12格式的引导程序(2)
  3. leetcode -day17 Path Sum I II &amp;amp; Flatten Binary Tree to Linked List &amp;amp; Minimum Depth of Binary Tree
  4. GB2312,GBK,GB18030,UTF8四种汉字编码标准有什么差别和联系
  5. 3531: [Sdoi2014]旅行
  6. jvm 命令
  7. redis03----link 链表操作
  8. Hive JOIN的基本操作 及 内部实现
  9. delphi三层架构(使用SATRDA改造,客户端代码不变)
  10. sdut oj 1510 Contest02-4 Spiral