日期:2014-05-17  浏览次数:20463 次

JQuery formValidator的ajaxValidator验证用户名是否被注册。
我想用ajaxValidator来检查用户名是否被注册,麻烦各位帮忙看下代码哪里出错了。?
我自己测试过。不管输入的是数据库中存在的或不存在的,他都通过注册。?
后台文件的代码我单独也测试过了,如果输入数据库中存在的用户名会response.write("0"),如果不存在的会response.write("1")。但是我在success位置输出data(ajax返回的数据),不管是数据库中存在的用户名,还是不存在的,他都输出1(也就是可以用此用户名注册账户)。
JScript code

<script type="text/javascript">
    $(document).ready(function(){
        $.formValidator.initConfig({formID:"formuser",theme:'ArrowSolidBox',mode:'AutoTip',onError:function(msg){alert(msg)},inIframe:true});
    $("#uname").formValidator({onShow:"",onFocus:"用户名至少6个字符,最多18个字符",onCorrect:"该用户名可以注册"}).inputValidator({min:6,max:18,onError:"你输入的用户名非法,请确认"})
        .ajaxValidator({
        type : "get",
        dataType : "html",
        async : true,
        url : "douname.asp?uname="+$("#uname").val(),
        success : function(data){
            if( data == "1" )
            {
                alert(data);
              return true;
            }
              else
            {
            alert(data);
              return false;
            }
            return false;
        },
        buttons: $("#button"),
        error: function(jqXHR, textStatus, errorThrown){alert("服务器没有返回数据,可能服务器忙,请重试"+errorThrown);},
        onError : "此用户名已被注册,请更换用户名",
        onWait : "正在对用户名进行合法性校验,请稍候..."
    });
    });</script>



VBScript code

<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>
<%Response.CodePage=65001%>
<%Response.Charset="utf-8"%>
<!--#include file="../../Connections/conn.asp" -->
<%
Set cheuname = Server.CreateObject("ADODB.Recordset")
sql="select * from yh where uname = '"& trim(request.QueryString("uname")) &"'"
cheuname.open sql,MM_conn_STRING,1,1
If cheuname.EOF And cheuname.BOF Then
response.Write("1")
else
response.Write("0")
end if
cheuname.Close()
set cheuname = Nothing
%>



------解决方案--------------------
jquery自带有验证方法吗?还是使用的第三方的?