| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1787 人关注过本帖
标题:关于焦点离开时,customervalidator没被触发的问题?
只看楼主 加入收藏
lxd824
Rank: 1
等 级:新手上路
帖 子:135
专家分:0
注 册:2007-4-21
收藏
 问题点数:0 回复次数:6 
关于焦点离开时,customervalidator没被触发的问题?
 我在使用customervalidator验证一个用户名是否存在的时候,定义了textbox的causetovalidator为true,Controltovalide和ClientValidationFunction也都正确设置了
并在其servervalidator函数中通过查询数据库判断用户名是否存在,如果存在arg.IsValide=false; 否则为true;
但是,为什么当焦点离开该textbox,且arg.Isvalide为false 时,没有触发此验证控件,但是当点button的时候却触发了呢,有什么办法可以让焦点离开的时候触发此控件?
搜索更多相关主题的帖子: 数据库 焦点 触发 arg textbox 
2007-11-08 18:57
冰彩虹
Rank: 4
来 自:上海
等 级:贵宾
威 望:14
帖 子:806
专家分:44
注 册:2007-6-28
收藏
得分:0 
帖代码...

Flying without wings
2007-11-08 23:17
lxd824
Rank: 1
等 级:新手上路
帖 子:135
专家分:0
注 册:2007-4-21
收藏
得分:0 

代码如下:
<asp:TextBox id="userid" runat="server" MaxLength="12" CausesValidation="True"></asp:TextBox>
<asp:CustomValidator ID="CustomValidator1" runat="server" ControlToValidate="userid"
Display="Dynamic" EnableClientScript="true" ErrorMessage="用户已存在" OnServerValidate="CustomValidator1_ServerValidate1"
SetFocusOnError="True"></asp:CustomValidator>

protected void CustomValidator1_ServerValidate1(object source, ServerValidateEventArgs args)
{
string username = userid.Text.ToString();
string str = "select count(*) from blog_user where user_name=" + username;//这里测试过了,没问题

if (odb.sum(str) > 0)
{
args.IsValid =false;
}
else
{
args.IsValid = true;
}
}

现在给我改的不管args.IsValid是true还是false都不会出来错误信息了

[此贴子已经被作者于2007-11-9 10:37:42编辑过]

2007-11-09 08:32
lxd824
Rank: 1
等 级:新手上路
帖 子:135
专家分:0
注 册:2007-4-21
收藏
得分:0 
难道没人用过CustomValidator这个控件吗? 怎么都没人来帮忙啊? 
2007-11-10 18:55
卡卡艾
Rank: 6Rank: 6
等 级:贵宾
威 望:22
帖 子:672
专家分:0
注 册:2007-4-3
收藏
得分:0 
昏迷.
这个自定义的验证和那些判断非空什么的验证还是有区别的.
因为设计到连接到数据库,要和数据库中的值比较然后才能判断用户名是否存在.
所以只有在点了button,对服务器发出请求,才会产生验证.
你是填了一下textbox,又没有发出请求,你让它怎么响应验证啊.?


革命尚未成功,同志仍需努力-----+++
2007-11-10 22:16
卡卡艾
Rank: 6Rank: 6
等 级:贵宾
威 望:22
帖 子:672
专家分:0
注 册:2007-4-3
收藏
得分:0 
设计--&gt;涉及,打错了,不好意思.

革命尚未成功,同志仍需努力-----+++
2007-11-10 22:17
lxd824
Rank: 1
等 级:新手上路
帖 子:135
专家分:0
注 册:2007-4-21
收藏
得分:0 
但是我的textbox的causevalid=true了啊,也就是说当textbox的焦点离开的时候触发这个验证控件啊
2007-11-11 01:09
快速回复:关于焦点离开时,customervalidator没被触发的问题?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.022560 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved