用户自定义控件CustomValidator不起实际作用?
我的注册页面在验证用户名是否已注册时使用了CustomValidator控件。并定义当用户名已注册时返回错误信息“该用户名已注册”。但在实际运行的过程中发现当用户名重复是。会提示错误信息。但用户注册名还是被写进了数据库里。难道是CustomValidator不象regularexpressionvalidator这类的控件一样,会阻止用户向数据库里写入错误信息? 问题点数:20、回复次数:5Top
1 楼chxzll(小气包)回复于 2006-07-03 14:44:00 得分 20
有没有在不正确的时候写上
args.IsValid = false;Top
2 楼chxzll(小气包)回复于 2006-07-03 14:44:30 得分 0
例如
private void CustomValidator1_ServerValidate(object source, System.Web.UI.WebControls.ServerValidateEventArgs args)
{
if (args.Value.ToUpper().Equals("ADMINISTRATOR") )
{
args.IsValid = true;
}
else
{
args.IsValid = false;
}
}
Top
3 楼parklee(新手上路)回复于 2006-07-03 14:57:50 得分 0
恩 写了的
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();
}
这是我的验证代码Top
4 楼parklee(新手上路)回复于 2006-07-04 10:58:40 得分 0
请高手给个答复哈Top
5 楼parklee(新手上路)回复于 2006-07-04 11:04:07 得分 0
运行页面会提示该用户已注册,但数据还是写入了数据库Top




