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

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

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

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

我的登录界面如图:

订餐系统总结(一)验证用户输入_第1张图片

下面是我的验证的代码:

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层的验证类,这是我的验证方法,不知道大家是怎么验证的呢?希望您留下您的看法和意见,一起讨论、分享!

你可能感兴趣的:(JavaScript,exception,session,String,asp.net,任务)