您的位置:首页 > 其它

订餐系统总结(一)验证用户输入

2012-06-08 15:31 363 查看
突然感觉到自己好长时间都没有写博客了,看了看自己近一个月的每日总结,只是零星地记下了一些当时做做项目的感受,没有写在博客上,现在项目已经接近尾声了,是时间好好总结总结了。

还清楚地刻接到任务的那一刻自己的心情,很激动也很有压力!说句实话,更多的是压力,不过还好,不能说出色地完成任务,也可以说是基本完成任务了吧!在这一个多月的时间里,从最初的需求、到页面、到数据库、到设计、到代码实现到调试等等,有很多要总结的,我就从细节到整体来总结吧!今天我想说的是用户输入验证方面。

我们都知道在asp.net的控件中有验证用户输入的,可是功能只是局限在验证用户是否输入,不能给出用户准确的提示,比如对于登录来说,可能是用户没有输入信息、还可能是密码输入错误、还可能是该用户不存在,同时,我们最好还要限制用户只能输入有效字符(比如说只能是英文字母或者汉字,这也从另一个方面对系统的安全性是一个保障!)

我的登录界面如图:





下面是我的验证的代码:

protected void btnLogin_Click(object sender, EventArgs e)
{
//验证输入的用户名
if (txtName.Text == "")
{
Page.ClientScript.RegisterStartupScript(Page.GetType(), "message", "<script language='javascript' defer>alert('请输入用户名!');</script>");
//输入用户名文本框获得焦点
txtName.Focus();
return;
}
else
{
string pattern;
pattern = "^[0-9a-zA-Z]+$";
Match match = Regex.Match(txtName.Text, pattern);

if (!match.Success)
{
Page.ClientScript.RegisterStartupScript(Page.GetType(), "message", "<script language='javascript' defer>alert('用户名由英文字母或者数字构成!');</script>");
//清空用户名文本框并获得焦点
txtName.Text = "";
txtName.Focus();
return;
}
}

//验证输入的密码
if (txtPassWord.Text == "")
{
Page.ClientScript.RegisterStartupScript(Page.GetType(), "message", "<script language='javascript' defer>alert('请输入密码!');</script>");
//输入用户名文本框获得焦点
txtPassWord.Focus();
return;
}
else
{
string pattern;
pattern = "^[0-9a-zA-Z]+$";
Match match = Regex.Match(txtPassWord.Text, pattern);

if (!match.Success)
{
Page.ClientScript.RegisterStartupScript(Page.GetType(), "message", "<script language='javascript' defer>alert('密码由英文字母或者数字构成!');</script>");
//清空用户名文本框并获得焦点
txtPassWord.Text = "";
txtPassWord.Focus();
return;
}
}

//验证码是否输入
if (txtCode.Text == "")
{
Page.ClientScript.RegisterStartupScript(Page.GetType(), "message", "<script language='javascript' defer>alert('请输入验证码!');</script>");
}
else
{
if (Session["Code"]==null)
{
Response.Redirect("login.aspx");
}
string rightCode = Session["Code"].ToString();
//验证码输入正确
if (txtCode.Text.Trim().ToUpper() == rightCode)
{
//验证用户是否存在
enAdminInfo adminInfo = new enAdminInfo();
adminInfo.Id = txtName.Text.Trim();
adminInfo.Password = txtPassWord.Text.Trim();
try
{
if (new m_loginBLL().VerifyAmdin(adminInfo))
{
//保存登录的用户名
Session["adminId"] = adminInfo.Id;
//判断管理员的权限,转向不同的页面
switch (new m_loginBLL().GetAdminType(adminInfo.Id))
{
case "超级管理员":
Response.Redirect("foodCategoryManage.aspx");
break;
case "一般管理员":
Response.Redirect("/commonAdmin/commonAdmin.aspx");
break;
}

}
else
{
Page.ClientScript.RegisterStartupScript(Page.GetType(), "message", "<script language='javascript' defer>alert('密码输入错误!');</script>");
txtCode.Text = "";  //清空输入验证码的文本框
}
}
catch (Exception ex)
{
Page.ClientScript.RegisterStartupScript(Page.GetType(), "message", "<script language='javascript' defer>alert('" + ex.Message.ToString() + "');</script>");
txtCode.Text = "";  //清空输入验证码的文本框
}

}
else
{
Page.ClientScript.RegisterStartupScript(Page.GetType(), "message", "<script language='javascript' defer>alert('验证码输入错误!');</script>");
txtPassWord.Focus();        //密码框获得焦点
txtCode.Text = "";  //清空输入验证码的文本框

}
}

}


在验证用户用了一个BLL层的验证类,这是我的验证方法,不知道大家是怎么验证的呢?希望您留下您的看法和意见,一起讨论、分享!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐