标题:关于焦点离开时,customervalidator没被触发的问题?
取消只看楼主
lxd824
Rank: 1
等 级:新手上路
帖 子:135
专家分:0
注 册:2007-4-21
 问题点数:0 回复次数:3 
关于焦点离开时,customervalidator没被触发的问题?
 我在使用customervalidator验证一个用户名是否存在的时候,定义了textbox的causetovalidator为true,Controltovalide和ClientValidationFunction也都正确设置了
并在其servervalidator函数中通过查询数据库判断用户名是否存在,如果存在arg.IsValide=false; 否则为true;
但是,为什么当焦点离开该textbox,且arg.Isvalide为false 时,没有触发此验证控件,但是当点button的时候却触发了呢,有什么办法可以让焦点离开的时候触发此控件?
搜索更多相关主题的帖子: 数据库 焦点 触发 arg textbox 
2007-11-08 18:57
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
lxd824
Rank: 1
等 级:新手上路
帖 子:135
专家分:0
注 册:2007-4-21
得分:0 
但是我的textbox的causevalid=true了啊,也就是说当textbox的焦点离开的时候触发这个验证控件啊
2007-11-11 01:09



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-184601-1-1.html




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

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