版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
第5章ASP.NET4.5窗體驗證作者:沈士根、汪承焱、許小東清華大學(xué)出版社本章要點:2理解客戶端和服務(wù)器端驗證。掌握ASP.NET4.5驗證控件的使用。目錄35.1窗體驗證概述5.2ASP.NET4.5服務(wù)器驗證控件5.2.1RequiredFieldValidator控件5.2.2CompareValidator控件5.2.3RangeValidator控件5.2.4RegularExpressionValidator控件5.2.5CustomValidator控件5.2.6ValidationSummary控件5.3小結(jié)5.1窗體驗證概述4驗證就是給所收集的數(shù)據(jù)制定一系列規(guī)則。驗證不能保證輸入數(shù)據(jù)的真實性,只能說是否滿足了一些規(guī)則。分為服務(wù)器端和客戶端兩種形式。服務(wù)器端驗證是指將用戶輸入的信息全部發(fā)送到Web服務(wù)器進(jìn)行驗證;客戶端驗證是指利用JavaScript腳本,在數(shù)據(jù)發(fā)送到服務(wù)器之前進(jìn)行驗證。配置隱式驗證方法5(1)利用NuGet安裝jQuery。(2)建立Global.asax文件(全局應(yīng)用程序類文件),并在其Application_Start()方法中添加源代碼如下:ScriptResourceDefinitionscriptResDef=newScriptResourceDefinition();scriptResDef.Path="~/Scripts/jquery-2.1.0.min.js";ScriptManager.ScriptResourceMapping.AddDefinition("jquery",scriptResDef);禁用隱式驗證6在Web.config文件的<configuration>元素中添加配置代碼如下:<appSettings><addkey="ValidationSettings:UnobtrusiveValidationMode"value="None"/></appSettings>Page.IsValid屬性:值為true表示所有的控件都通過了驗證,而false表示頁面上有控件未通過驗證。5.2ASP.NET4.5服務(wù)器驗證控件7ControlToValidate:指定要驗證控件的ID。Display:指定驗證控件在頁面上顯示的方式。值Static表示驗證控件始終占用頁面空間;值Dynamic表示只有顯示驗證的錯誤信息時才占用頁面空間;值None表示驗證的錯誤信息都在ValidationSummary控件中顯示。EnableClientScript:設(shè)置是否啟用客戶端驗證,默認(rèn)值true。5.2ASP.NET4.5服務(wù)器驗證控件(續(xù))8ErrorMessage:設(shè)置在ValidationSummary控件中顯示的錯誤信息,若Text屬性值為空會代替它。SetFocusOnError:當(dāng)驗證無效時,確定是否將焦點定位在被驗證控件上。Text:設(shè)置驗證控件顯示的信息。ValidationGroup:設(shè)置驗證控件的分組名。一個很實用的CausesValidation屬性:值false表示不執(zhí)行驗證過程。5.2ASP.NET4.5服務(wù)器驗證控件(續(xù))9若要對一個控件設(shè)置多個規(guī)則,可通過多個驗證控件共同作用,此時各驗證控件的ControlToValidate屬性應(yīng)為相同值。若要對同一個頁面上不同的控件提供分組驗證功能,可以通過將同一組控件的ValidationGroup屬性設(shè)置為相同的組名來實現(xiàn)。5.2.1RequiredFieldValidator控件10用于對一些必須輸入信息的控件進(jìn)行驗證,如用戶名、密碼等。在頁面上填寫表單時,常??煽吹接行┪谋究蚝蟾粋€*,就是使用該驗證控件產(chǎn)生的效果。非常實用的InitialValue屬性:用于指定被驗證控件的初始文本。若設(shè)置了InitialValue屬性值,則只有在被驗證控件中輸入值并與InitialValue值不同時,驗證才通過。實例5-1禁止空數(shù)據(jù)且同時要改變初始值11在本實例中,當(dāng)改變用戶名右邊文本框中內(nèi)容并將焦點移出時執(zhí)行客戶端驗證,若內(nèi)容為空,則顯示*;若內(nèi)容仍為文本框原來的初始值,則顯示“不能與初使值相同!”。源程序:Require.aspx程序說明:rfvNamel保證用戶名必須輸入,而rfvName2保證輸入的用戶名必須與初始值不同。5.2.2CompareValidator控件12用于比較一個控件的值和另一個控件的值,若相等則驗證通過;也可用于比較一個控件的值和一個指定的值,若比較的結(jié)果為true則驗證通過。ControlToCompare:指定與被驗證控件比較的控件ID。Operator:設(shè)置比較值時使用的操作符,包括Equal、NotEqual、GreaterThan、GreaterThanEqual、LessThan、LessThanEqual和DataTypeCheck。5.2.2CompareValidator控件(續(xù))13Type:設(shè)置比較值時使用的數(shù)據(jù)類型。ValueToCompare:指定與被驗證控件比較的值。注意:
ControlToCompare和ValueToCompare屬性在應(yīng)用時只能選擇一個。實例5-2運用CompareValidator控件14在本實例中,密碼文本框和確認(rèn)密碼文本框要求驗證輸入值是否一致;答案文本框驗證值是否為A;金額文本框驗證數(shù)據(jù)類型是否為Currency。源程序:Compare.aspx5.2.3RangeValidator控件15用來驗證輸入值是否在指定范圍內(nèi)。提供了MaximumValue和MinimumValue屬性,分別對應(yīng)驗證范圍的最大值和最小值。實例5-3運用RangeValidator控件16在本實例中,成績文本框要求輸入的值在0~100之間;日期文本框要求輸入的值在2000-1-1與2014-1-1之間。源程序:Range.aspx5.2.4RegularExpressionValidator控件17用來驗證輸入值是否和定義的正則表達(dá)式相匹配,常用來驗證電話號碼、郵政編碼、Email等。ValidationExpression屬性:用來確定驗證所需的正則表達(dá)式。設(shè)置ValidationExpression屬性18實例5-4驗證電子郵件地址19在本實例中,當(dāng)輸入的電子郵件地址不符合規(guī)則,再單擊“確定”按鈕后顯示“Email地址錯誤!”,否則顯示“驗證通過!”。源程序:Regular.aspx5.2.5CustomValidator控件20當(dāng)ASP.NET4.5提供的驗證控件無法滿足實際需要時,可以考慮先自定義驗證函數(shù),再通過CustomValidator控件調(diào)用它來滿足需求。若要使用客戶端驗證,則需要設(shè)置ClientValidationFunction屬性值為客戶端驗證函數(shù)名,并且要設(shè)置EnableClientScript屬性的值為True;若使用服務(wù)器端的驗證,則通過ServerValidate事件觸發(fā),此時,需要將完成驗證功能的代碼包含在事件處理代碼中。IsValid屬性:用來確定是否通過驗證。實例5-5驗證必須輸入一個偶數(shù)21在本實例中,輸入一個數(shù)值,單擊“確定”按鈕后判斷奇偶數(shù)并返回驗證結(jié)果。具體實現(xiàn)形式包括客戶端驗證、服務(wù)器端驗證和混合驗證三種形式。源程序:CustomClient.aspx程序說明:ClientValidate()函數(shù)中的source表示CustomValidator控件的引用;args.Value表示獲取被驗證控件的值;如果驗證成功,則需要將args.IsValid設(shè)置為true,否則設(shè)置為false。實例5-5驗證必須輸入一個偶數(shù)(續(xù))22服務(wù)器端驗證源程序:CustomServer.aspx混合驗證:實質(zhì)是組合應(yīng)用客戶端和服務(wù)器端驗證,在實現(xiàn)時既要設(shè)置ClientValidationFunction屬性值,又要編寫ServerValidate事件處理代碼。5.2.6ValidationSummary控件23用于匯總其他驗證控件錯誤信息的方式,即匯總其他驗證控件的ErrorMessage屬性值。DisplayMode屬性:指定了顯示信息的格式,值分別為BulletList、List和SingleParagraph。ShowMessageBox屬性:指定是否在一個彈出的消息框中顯示錯誤信息。ShowSummary屬性:指定是否啟用錯誤信息匯總。實例5-6綜合運用驗證控件24在本實例中,用于輸入用戶名信息的文本框使用了RequiredFieldValidator控件;用于輸入密碼和確認(rèn)密碼的文本框都使用了RequiredFieldValidator控件,以防止用戶漏填信息,同時還使用了CompareValidator控件驗證兩者輸入的值是否一致;用于輸入電話號碼的文本框使用了RegularExpressionValidator控件,當(dāng)用戶輸入的信息格式不,就會產(chǎn)生驗證錯誤;用戶輸入身份證號的文本框使用了CustomValidator控件,當(dāng)身份證號中包含的出生年月格式經(jīng)驗證無效時產(chǎn)生驗證錯誤。放置的ValidationSummary控件用于匯總所有的驗證錯誤信息。當(dāng)上述驗證控件出現(xiàn)驗證錯誤時,焦點會定位在出現(xiàn)驗證錯誤的文本框中。源程序:MultiValidate.aspx程序說明25若頁面中有其它驗證控件未通過驗證,則單擊“確定”按鈕后CustomValidator控件的ServerValidate事件不會被觸發(fā)。因為設(shè)置了ValidationSummary控件的ShowMessageBox屬性值為True和ShowSummary屬性值為False,所
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度礦業(yè)權(quán)抵押擔(dān)保項目合同樣本3篇
- 2024經(jīng)七路施工項目廉潔保障合同版B版
- 二零二五年度廠房裝修安全風(fēng)險評估合同3篇
- 2025年度高校文印服務(wù)外包合同3篇
- 二零二五年度園林景觀裝修合同范本2篇
- 2024版影視融資中介協(xié)議模板版B版
- 簡易勞務(wù)派遣合同范本
- 二零二五年度icp許可證辦理與互聯(lián)網(wǎng)企業(yè)合規(guī)性審查與法律支持合同3篇
- 二零二五版二手車按揭轉(zhuǎn)讓合同范本3篇
- 二零二五版建筑材料租賃與合同變更合同3篇
- 人教版(2025新版)七年級下冊英語:寒假課內(nèi)預(yù)習(xí)重點知識默寫練習(xí)
- 【公開課】同一直線上二力的合成+課件+2024-2025學(xué)年+人教版(2024)初中物理八年級下冊+
- 高職組全國職業(yè)院校技能大賽(嬰幼兒照護(hù)賽項)備賽試題庫(含答案)
- 2024年公安部直屬事業(yè)單位招聘筆試參考題庫附帶答案詳解
- NB-T 47013.15-2021 承壓設(shè)備無損檢測 第15部分:相控陣超聲檢測
- SJG 05-2020 基坑支護(hù)技術(shù)標(biāo)準(zhǔn)-高清現(xiàn)行
- 汽車維修價格表
- 10KV供配電工程施工組織設(shè)計
- 終端攔截攻略
- 藥物外滲處理及預(yù)防【病房護(hù)士安全警示教育培訓(xùn)課件】--ppt課件
評論
0/150
提交評論