第5章ASP45窗體驗證_第1頁
第5章ASP45窗體驗證_第2頁
第5章ASP45窗體驗證_第3頁
第5章ASP45窗體驗證_第4頁
第5章ASP45窗體驗證_第5頁
已閱讀5頁,還剩21頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論