| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1253 人关注过本帖
标题:用户自定义控件CustomValidator不起实际作用?
只看楼主 加入收藏
parklee
Rank: 1
等 级:新手上路
帖 子:100
专家分:0
注 册:2006-6-8
收藏
 问题点数:0 回复次数:3 
用户自定义控件CustomValidator不起实际作用?

各位大侠:
我的注册页面在验证用户名是否已注册时使用了CustomValidator控件。并定义当用户名已注册时返回错误信息“该用户名已注册”。但在实际运行的过程中发现当用户名重复是。会提示错误信息。但用户注册名还是被写进了数据库里。难道是CustomValidator不象regularexpressionvalidator这类的控件一样,会阻止用户向数据库里写入错误信息?
void ServerValidateNickNameCheck(object source, ServerValidateEventArgs args)
{
OleDbConnection conCheck;
OleDbCommand cmdCheck;
OleDbDataReader dtrCheck;
string bokeCheck;
string bokeCheckUserNickName;

bokeCheckUserNickName=userNickName.Text;
conCheck= new OleDbConnection("PROVIDER=Microsoft.Jet.OLEDB.4.0;DATA Source="+Server.MapPath("bookee.mdb"));
bokeCheck="Select UserNickName From UserList Where UserNickName='"+bokeCheckUserNickName+"'";
cmdCheck= new OleDbCommand(bokeCheck,conCheck);
conCheck.Open();
dtrCheck =cmdCheck.ExecuteReader();
while (dtrCheck.Read())
{
if(dtrCheck[0].ToString().Trim()==bokeCheckUserNickName)
{
args.IsValid=false;
}
else
{
args.IsValid=true;
}
}
dtrCheck.Close();
conCheck.Close();
}
这是我的验证代码
<asp:CustomValidator ControlToValidate="userNickName" ErrorMessage="该用户名已注册" ID="userNickNameCheck" OnServerValidate="ServerValidateNickNameCheck" runat="server" Text="*"></asp:CustomValidator>
这是调用它的方法。
运行页面会提示该用户已注册,但数据还是写入了数据库,请问怎么在验证到用户已注册后阻止向数据库填入信息?

搜索更多相关主题的帖子: 控件 定义 用户 
2006-07-04 17:10
lxtf214
Rank: 1
等 级:新手上路
帖 子:151
专家分:0
注 册:2005-12-29
收藏
得分:0 
你的验正没有问题

问题是这样的,你必须在你的数据操作部分,也就是在提交数据之前加上

if(Page.isvaild)
{
//数据操作部分

}
仅仅当验证成立时才添加,这是server验证!

(.NET Programmer ) 要为成功找方法,不为失败找理由
2006-07-04 18:01
parklee
Rank: 1
等 级:新手上路
帖 子:100
专家分:0
注 册:2006-6-8
收藏
得分:0 

好的,十分感谢~~~我去试试!!谢谢


2006-07-04 21:26
parklee
Rank: 1
等 级:新手上路
帖 子:100
专家分:0
注 册:2006-6-8
收藏
得分:0 
恩,你说的是对的。十分感谢。我想再深入的问一下。如果我有多个需要验证的控件。有些控件结合在一起来起验证某个饿功能的作用,比如ABC三个控件联合起来,条件为当AB控件的IsValid为true,C控件IsValid为false时执行某段代码,反之则执行另一段代码。这种情况下用Page.IsValid就不行了啊。那该怎么办呢。不可能对ABC三个控件在设置一个验证空间来判断他们的IsValid情况嘛。

2006-07-05 10:26
快速回复:用户自定义控件CustomValidator不起实际作用?
数据加载中...
 
   



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

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