博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

jquery.validate.js remote (php)

Posted on 2015-01-30 16:10  SmarTom  阅读(415)  评论(0编辑  收藏  举报

网上的人不厚道呀 validate 这玩意的异步是 返回的 echo 'true'  或者 echo 'false';
很少有人说呀~.~  转载了一篇原文:

jquery.validate.js对于数据的远程验证的使用,官方网址文档较为简陋,实例较为简单,其实jquery.validate.js功能是如此的强,本文章主要讲解remote 的使用方法。

  

本实例中使用jquery.validate.js验证注册表单,其中验证码与用户名使用remote方式验证,以下为checkreg.js的源代码。

    $(function(){
        /*表单提交时的处理方式,必需放在验证条件设置前面*/
         $.validator.setDefaults({
             submitHandler: function(){
                /*使用AJAX方式提交表单*/
                 $.ajax({
                     type:"POST",
                     url:"phpscript/cmd_User.php?cmd=add",
                     data:{validateNum:$("#validateNum").val(),
                           username:$("#username").val(),
                           pwd:$("#pwd").val(),
                           email:$("#email").val(),
                           qq:$("#qq").val()
                          },
                     dataType:"json",
                     cache:false,
                     success:function(json){
                        if(json.success=="true"){
                              $("#reginfo").html("注册成功,系统现将为你自动登录。");
                              $("#reginfo").css("color","green");
                              setTimeout(sendIndex,1500);
                         }else{
                              $("#reginfo").html("注册失败,请检查是否填写正确。");
                              $("#reginfo").css("color","red");
                         }
                     }
                 });
                //form1.submit();
             }
         });
        
        /*验证条件设置*/
         $("#regform1").validate({
             event:"blur",
                rules:{
                 validateNum:{required:true,number:true,remote:"phpscript/validateNum.php"},
                 username:{required:true,rangelength:[2,20],remote:"phpscript/exist_User.php"},
                 email:{required:true,email:true,maxlength:250},
                 pwd:{required:true,rangelength:[4,16]},
                 pwd2:{required:true,equalTo:'#pwd'},
                 qq:{required:false,number:true,rangelength:[5,12]}
                },
                messages:{
                     validateNum:{remote:"请输入正确的验证码"},
                     username:{remote:"用户名已经存在"}
                }
         });
    }); 

以下为 validateNum.php 的源代码

 1     <?php
 2     Header("Cache-Control","no-store");       
 3     Header("Pragma","no-cache");       
 4     Header("Expires", "0");
 5     session_start();
 6     include_once ('../include/mysql.inc.php');
 7     $mysqli= new mysqli(DBHOST,DBUSER,DBPWD,DBNAME,DBPORT);
 8     $mysqli->set_charset(DBCHAR);
 9     $sql = "select * from ".DBPREFIX."users where username='{$_GET['username']}'";
10         $result = $mysqli->query($sql);
11         $count = $mysqli->affected_rows;
12         if($count == 1){
13             echo "false";
14          }else{
15             echo "true";
16          }
17     ?>

 

 

远程文件 validateNum.php, exist_User.php 文件只能输出 "true" 或 "false",不能有其它输出,请注意。


本文转自:http://www.janefly.com/html/chengxurensheng/JQuery/2009/0608/2.html