資源描述:
《實(shí)驗(yàn)五:驗(yàn)證控件》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在工程資料-天天文庫(kù)。
1、鄉(xiāng)運(yùn)城學(xué)陸ASP.NET程序設(shè)計(jì)實(shí)驗(yàn)報(bào)告五實(shí)驗(yàn)題目:驗(yàn)證控件指導(dǎo)老師:馬浩專業(yè)班級(jí):計(jì)算機(jī)科學(xué)與技術(shù)系1105班姓名:黃偉(2011100550)2014年5月27日一.實(shí)驗(yàn)名稱:驗(yàn)證控件二.實(shí)驗(yàn)?zāi)康呐c要求:1.掌握ASP.NET6種驗(yàn)證控件屬性設(shè)置和使用方法2.掌握驗(yàn)證控件在用戶注冊(cè)登陸頁(yè)面的應(yīng)用三、實(shí)驗(yàn)內(nèi)容與步驟:掌握驗(yàn)證控件的使用方法。(1)用戶名,密碼,確認(rèn)密碼,出生日期,電子信箱,身份證號(hào)都不允許為空。(2)用戶名是否可以使用。方法可以將驗(yàn)證控件分組,驗(yàn)證用戶名不能為空的驗(yàn)證控件和“用戶名是否可
2、用”按鈕設(shè)置為一組。ValidationGroup=/zgroupname/z其他驗(yàn)證控件和“確定”按鈕設(shè)置為一組。ValidationGroup二"groupname"(3)用戶名只能輸入1-10位移字母或下劃線開(kāi)頭的字符。(4)密碼和確認(rèn)密碼相同(5)出生日期應(yīng)介于1990-01-01到1010?01?01之間(6)電子信箱格式應(yīng)正確(7)身份證號(hào)格式正確,必須為18位,并且身份證號(hào)中的出生日期應(yīng)和出生日期中填寫(xiě)的一致。方法:采用CustomValidator,并定義它的onservervalidat
3、e方法,實(shí)現(xiàn)不合格時(shí)讓args.IsVaiid=false;三.實(shí)驗(yàn)結(jié)果:實(shí)驗(yàn)截圖:身份證號(hào)12另份證號(hào)錯(cuò)誤用戶注冊(cè)驗(yàn)證用戶名『23[用戶右是否可廟
4、密碼確認(rèn)密碼出生日期1902-03-12電子信箱12*@12com身份證號(hào)12券份證號(hào)錯(cuò)誤(^]數(shù)據(jù)庫(kù):列名
5、數(shù)據(jù)類型J允許Null用戶名nchar(10)□密碼nchar(10)0出生日期htetime0電子信箱nchar(30)0身份證號(hào)nchar(18)0代碼:protectedvoidCustomValidatorlServerValidate(ob
6、jectsource,ServerValidateEventArgsargs)〃當(dāng)其他的驗(yàn)證后沒(méi)有錯(cuò)誤,才會(huì)啟動(dòng){stringid=args.Value;args.IsValid=true;DateTimedt=newDateTime();try{dt=DatcTimc.Parse(id.Substring(6,4)+"-"+id.Substring(10,2)+"-"+id.Substring(12,2));}catch{args.IsValid=false;//轉(zhuǎn)換失敗}if(dt.ToShortDa
7、teStringO.Trim()!=(DateTime.Parse(birthdate.Text.Trim())).ToShortDateString().Trim())args.IsValid二false;}(1)驗(yàn)證用戶名是否可以使用定義“用戶名是否可用”按鈕的單擊事件代碼,連接到數(shù)據(jù)庫(kù)查詢?cè)撚脩裘欠褚呀?jīng)存在。參考代碼為:protectedvoidbtnvalidatenamc_Click(objectsender,EventArgse)SqlConnectionconn二newSqlConnect
8、ion(ConfigurationManager.ConnectionStrings["shiti"]?ConnectionString)9conn.Open();stringsqlstr="select*from用戶信息where用戶名=@用戶名";Sq1Commandemd=newSq1Command(sqlstr,conn);cmd.Parameters.Add(/Z@用戶名",SqlDbType.NChar).Value=username.Text.TrimO;if(cmd.ExecuteRead
9、er().Read()){Response.Write(*