使用CustomValidator类及时验证用户名

在网页上插入一个ID为UserName 的 TextBox 这样检查 ,然后在check.aspx 内检查用户名的使用情况,strResult 就可以知道,这样我们的功能算是完成了,但是这样做的缺点就是不能与验证控制一起验证,这时我们可以使用CustomValidator,因为CustomValidator是允许自己添加脚本进行验证的,我们把上面的脚本改一下,移到CustomValidator 的客户端里面。代码如下:

function  ValidationFunctionName(source, arguments)
{
    
var userName =document.getElementById("UserName");
    
var oBao = new ActiveXObject("Microsoft.XMLHTTP");
    oBao.open(
"Get","Check.aspx?username=" + userName.value,false);  
    oBao.send();
    
var strResult = oBao.responseText;

    
//如果返回 1 就代表可以使用,否则不能通过验证
    if (Number(strResult) == 1)
        arguments.IsValid 
= true;    
    
else
        arguments.IsValid 
= false;
}


在网页上再添加一个 CustomValidator  控件,再设一下要验证的控件ID把 ControlToValidate 设成 UserName,
主要设置客户端验证方法 ClientValidationFunction 为 ValidationFunctionName,如:<asp:CustomValidator ID="CustomValidator1" runat="server" ControlToValidate="UserName" ClientValidationFunction="ValidationFunctionName"
                ErrorMessage="被注册的用户名"></asp:CustomValidator>,然后在Check.aspx 里面完成检查,在我这里是如果可用就往网页上写 1 否则 写 0 ,注意:在Check.aspx 输出的地方一定要调用        Response.Clear() 和 Response.End() 来保证输出的信息只有 1 或 0,当前你也可以用别的方法输出,我这里为了快速实现使用了这种方法,我是在PageLoad 里面与的,如下

Response.Clear();
// 检查用户名
if  (CheckUserName())
    Response.Write(
" 1 " );
else
     Response.Write(
" 0 " );
Response.End();

好了,终于介绍完了,第一次写博客,再加上文笔差,不知道说清了没有,如果没有说清请大家谅解!:

附上:Demo 文件 下载

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值