ASP數(shù)據(jù)驗證控件_第1頁
ASP數(shù)據(jù)驗證控件_第2頁
ASP數(shù)據(jù)驗證控件_第3頁
ASP數(shù)據(jù)驗證控件_第4頁
ASP數(shù)據(jù)驗證控件_第5頁
已閱讀5頁,還剩42頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領

文檔簡介

第7章數(shù)據(jù)驗證控件

本講教學內(nèi)容ASP.NET中數(shù)據(jù)驗證控件的工作原理必填驗證控件的使用比較驗證控件的使用范圍驗證控件的使用規(guī)則驗證控件的使用用戶驗證控件的使用何為Web頁面驗證?檢查用戶輸入信息的有效性,向用戶提示輸入錯誤信息,從而確定不同的操作流程。Web頁面驗證的重要性:是保證Web應用安全性的重要途徑和手段。.NET提供的幫助:提供了功能強大、方式多樣、層次分明、使用簡單的Web頁面驗證能力,其中驗證控件是核心內(nèi)容。7.1數(shù)據(jù)有效性驗證機制簡介何為驗證控件?是ASP.NET提供的、用來實現(xiàn)不同驗證目的的控件;可以和Web頁面中的任意控件一起使用,并為其提供一種驗證機制。驗證類型:必須驗證、比較驗證、范圍驗證、模式驗證、自定義驗證說明:

1、主要是為輸入控件提供驗證(服務器控件);

2、在執(zhí)行事件之前驗證;

3、驗證控件可以結(jié)合使用;7.1數(shù)據(jù)有效性驗證機制簡介2.ASP.NET提供的數(shù)據(jù)驗證控件傳統(tǒng)的動態(tài)Web技術(shù)中,如果需要驗證某個數(shù)據(jù)是否有效,開發(fā)人員必須動手編寫一段代碼來進行判斷。通常需要判斷的條件很多,代碼會非常冗長。ASP.NET中提供了一系列容易使用且功能強大的驗證控件,可以按預定義的標準檢查用戶的輸入是否合法。驗證服務器控件是一個控件集合,這些控件允許驗證關聯(lián)的輸入服務器控件,并在驗證失敗時顯示自定義消息。每個驗證控件執(zhí)行特定類型的驗證??赏ㄟ^使用比較驗證控件CompareValidator和范圍驗證控件RangeValidator分別針對某個特定值或值范圍進行驗證。甚至還可通過使用用戶驗證控件CustomValidator定義自己的驗證判據(jù)。使用驗證匯總控件ValidationSummary,還可以用于顯示頁上所有驗證控件的結(jié)果摘要。7.1數(shù)據(jù)有效性驗證機制簡介2.ASP.NET提供的數(shù)據(jù)驗證控件控件名稱說明RequiredFieldValidator確保用戶不跳過某些必填的輸入項CompareValidator使用比較運算符將用戶的輸入與另一控件的常數(shù)值或?qū)傩灾颠M行比較RangeValidator檢查用戶的輸入是否在指定的上下邊界之間,可以檢查數(shù)字、字母或日期對內(nèi)的范圍。RegularExpressionValidator檢查輸入是否與正則表達式定義的模式匹配。該驗證類型允許檢查可預知的字符序列CustomValidator使用您自己編寫的驗證邏輯檢查用戶的輸入,該驗證類型允許檢查運行時導出的值ValidationSummary以摘要的形式顯示頁上所有驗證程序的驗證錯誤驗證時機:

1、通常在處理Click事件時調(diào)用驗證;

2、頁面處理期間調(diào)用控件的Validate方法,實現(xiàn)“及時驗證”。驗證多個條件:

1、每個輸入控件可以執(zhí)行一個以上的驗證檢查;

2、通過邏輯“與”對每個輸入控件執(zhí)行多項驗證檢查;

3、通過邏輯“或”對每個輸入控件執(zhí)行多項并列驗證檢查;錯誤信息的顯示:驗證控件通常在呈現(xiàn)的窗體中不可見,檢測到錯誤時可以:1、通過驗證控件本身顯示出來;2、通過ValidationSummary控件把所有的驗證錯誤信息集中起來顯示。服務器端驗證:包含驗證操作的頁面必須提交到服務器端后,服務器將逐個調(diào)用驗證控件來檢查用戶輸入,完成頁面驗證??蛻舳蓑炞C:

驗證操作在頁面提交給服務器前由客戶端瀏覽器解釋執(zhí)行??蛻舳蓑炞C能明顯的縮短頁面的響應時間,錯誤信息會在用戶離開有錯控件后立即顯示。說明:

即使驗證控件已在客戶端執(zhí)行驗證,頁框架仍然在服務器上執(zhí)行它。7.1數(shù)據(jù)有效性驗證機制簡介3.驗證控件的驗證機制在處理用戶輸入的數(shù)據(jù)時,ASP.NET頁面首先將用戶輸入傳遞到一個或多個適當?shù)尿炞C控件。驗證控件將測試用戶輸入并設置表示輸入是否通過測試的屬性。在調(diào)用所有驗證控件之后,頁上將設置一個屬性(IsValid),如果任何一個控件顯示驗證檢查失敗,則整個頁的屬性都將設置為無效。如果數(shù)據(jù)驗證沒有通過(IsValid屬性為False),錯誤信息可由該驗證控件顯示在頁面中,或者顯示在頁面上其它位置的驗證匯總ValidationSummary控件中。7.1數(shù)據(jù)有效性驗證機制簡介3.驗證控件的驗證機制屬性名描述和取值ControlToValidate驗證控件將計算的輸入控件的編程ID。如果此為非法ID,則引發(fā)異常EnableClientScript指示是否啟用客戶端驗證。通過將EnableClientScript屬性設置為false,可在支持此功能的瀏覽器上禁用客戶端驗證Display指定的驗證控件的顯示行為。可以僅在ValidationSummary控件中顯示錯誤信息;或在驗證控件位置顯示錯誤信息;或在頁面上動態(tài)分配錯誤信息顯示的空間Enabled指示是否啟用驗證控件??赏ㄟ^將該屬性設置為False以阻止驗證控件驗證輸入控件7.1數(shù)據(jù)有效性驗證機制簡介3.驗證控件的驗證機制屬性名描述和取值ErrorMessage當驗證失敗時在ValidationSummary控件中顯示的錯誤信息。如果未設置驗證控件的

Text屬性,則驗證失敗時,驗證控件中仍顯示此文本。ErrorMessage屬性通常用于為驗證控件和

ValidationSummary控件提供各種消息ForeColor指定當驗證失敗時用于顯示內(nèi)聯(lián)消息的顏色。IsValid指示ControlToValidate屬性所指定的輸入控件是否被確定為有效Text此屬性設置后,驗證失敗時會在驗證控件中顯示此消息。如果未設置此屬性,則在控件中顯示

ErrorMessage屬性中指定的文本7.2必填驗證(RequireFieldValidator)控件使用RequiredFieldValidator控件可以使某個輸入控件成為強制字段。當驗證執(zhí)行時,如果輸入控件包含的值仍然保持初始值而未更改,則該輸入控件驗證失敗。在默認情況下,驗證控件的初始值(InitialValue屬性)為空字符串(“”),這說明必須在輸入控件中輸入值才能通過驗證。必填驗證控件的語法如下:

<ASP:RequiredFieldValidator

ID="Validator_Name"Runat="Server"

ControlToValidate="要檢查的控件名"

ErrorMessage="出錯信息"Display="Static|Dymatic|None"></ASP:RequiredFieldValidator>7.2必填驗證(RequireFieldValidator)控件有時初始值不為空字符串。當輸入控件具有默認值而且希望用戶選擇其他值時,這將非常有用。例如,默認情況下,可能有一個具有選定輸入的ListBox控件,其中包含用戶從列表中選擇項的說明。用戶必須從控件中選擇一項,若不希望用戶選擇包含說明的項。則可通過將該項的值指定為初始值來防止用戶選擇該項。如果用戶選擇該項RequriedFieldValidator將顯示它的錯誤信息。若要指定關聯(lián)輸入控件的起始值,則可設置InitialValue屬性。多個驗證程序可與同一個輸入控件關聯(lián)。例如:可在頁面中使用一個RequiredFieldValidator驗證控件確保有信息輸入到控件中,同時可使用另一個RangeValidator驗證控件確保輸入值在指定的數(shù)據(jù)范圍內(nèi)。7.2.1對用戶名和密碼進行驗證

【例7-1】用戶名和密碼的驗證

對于大多數(shù)系統(tǒng),用戶登錄頁面都是必需的。在此實例中,將使用必填驗證控件完成用戶提交的用戶名和密碼的驗證,避免用戶漏填。詳細過程可上機操作并參見教材內(nèi)容。7.2.2對下拉框進行驗證

【例7-2】下拉框用戶選擇信息的驗證

表單中用于獲取用戶信息的控件有很多,如:下拉框、列表框、復選框、單選框等,在這些輸入框中,用戶輸入或選擇的信息也同樣需要驗證。本實例中將對表單中用戶選擇輸入項的下拉框進行用戶所選項的驗證。詳細過程可上機操作并參見教材內(nèi)容。7.3比較驗證(CompareValidator)控件

比較驗證CompareValidator控件可以將用戶輸入到一個輸入控件中的值同輸入到另一個輸入控件中的值相比較,或?qū)⒃撝蹬c某個常數(shù)值相比較。還可以使用CompareValidator控件確定輸入到輸入控件中的值是否可以轉(zhuǎn)換為Type屬性所指定的數(shù)據(jù)類型。比較驗證控件的語法如下:

<ASP:CompareValidator

ID="Validator_ID"RunAt="Server"

ControlToValidate="要驗證的控件ID"

ErrorMessage="錯誤信息"ControlToCompare="要比較的控件ID"Type="String|Integer|Double|DateTime|Currency"Operator="Equal|NotEqual|GreaterThan|GreaterTanEqual|LessThan|LessThanEqual"

DataTypeCheck"Display="Static|Dymatic|None"></ASP:CompareValidator>

7.3比較驗證(CompareValidator)控件

通過設置ControlToValidate屬性指定要驗證的輸入控件。若要將特定的輸入控件與另一個輸入控件相比較,則使用要比較的控件的名稱設置ControlToCompare屬性。可以將一個輸入控件的值同某個常數(shù)值相比較,而不是比較兩個輸入控件的值。通過設置ValueToCompare屬性指定要比較的常數(shù)值。

Operator屬性指定要執(zhí)行的比較類型,如大于、等于等。如果將Operator屬性設置為DataTypeCheck(類型檢查),CompareValidator控件將同時忽略ControlToCompare屬性和ValueToCompare屬性,而僅指示輸入到輸入控件中的值是否可以轉(zhuǎn)換為Type屬性所指定的數(shù)據(jù)類型。7.3.1使用驗證控件的四則運算

【例7-3】帶有數(shù)據(jù)校驗的四則運算在頁面數(shù)據(jù)理中,加減乘除四則運算是較常用的基本運算,下面的實例中將首先實現(xiàn)任意輸入兩個整型數(shù)的四則運算。詳細過程可上機操作并參見教材內(nèi)容。7.3.2密碼和確認密碼的比較驗證

【例7-4】密碼和密碼確認信息的比較驗證

當用戶在某個網(wǎng)站上注冊時,通常需要用戶填寫登錄時使用的用戶名和密碼,由于密碼框中字符使用點號或星號來表示,通常都需要用戶再次確認密碼,只有兩個輸入的密碼完全相同,才能保證用戶輸入的密碼確實是自己預期想要輸入的密碼。在本實例中,使用比較驗證控件來驗證用戶輸入的密碼確實是自己預期想要輸入的密碼。詳細過程可上機操作并參見教材內(nèi)容。7.4范圍驗證(RangeValidator)控件可使用該控件檢查用戶的輸入是否在指定的上限和下限之間??梢詸z查數(shù)字對、字母對和日期對限定的范圍。范圍驗證控件的語法為:

<ASP:RangeValidator

ID="Vaidator_ID"Runat="Server"

ControlToValidate="要驗證的控件ID"Type="String|Integer|Double|Date|Currency"

MinimumValue="最小值"MaximumValue="最大值"

ErrorMessage="錯誤信息"Display="Static|Dymatic|None"></ASP:RangeValidator>7.4范圍驗證(RangeValidator)控件使用ControlToValidate屬性指定要驗證的輸入控件,MinimumValue和MaximumValue屬性分別指定有效范圍的最小值和最大值。

Type屬性用于指定要比較的值的數(shù)據(jù)類型,有String字符串、Integer整型數(shù)、Double雙精度的浮點型數(shù)、Date日期類型、Currency貨幣類型。在執(zhí)行任何比較之前,先將要比較的值轉(zhuǎn)換為該數(shù)據(jù)類型。

注意:如果輸入控件為空,則不調(diào)用任何驗證函數(shù)且驗證成功。需要使用RequiredFieldValidator必填驗證控件防止用戶跳過某個輸入控件。由MaximumValue最大值屬性或MinimumValue最小值屬性指定的值,當無法轉(zhuǎn)換為由Type類型屬性指定的數(shù)據(jù)類型時,RangeValidator范圍驗證控件將引發(fā)異常。7.4.1控制正確數(shù)據(jù)范圍

通常用戶在頁面上輸入數(shù)據(jù)時,某些數(shù)據(jù)是有范圍限定的,比如:用戶年齡、時間日期、學生成績等,需要使用另一類驗證控件——范圍驗證RangeValidator控件來驗證用戶輸入數(shù)據(jù)的范圍是否滿足,增強系統(tǒng)的容錯性?!纠?-5】用戶生日日期范圍驗證使用范圍驗證控件,對用戶輸入的生日日期范圍進行驗證,保證登錄系統(tǒng)的用戶年齡在18-80歲之間。詳細過程可上機操作并參見教材內(nèi)容。7.4.2使用區(qū)間驗證控件驗證學生成績

RangeValidator范圍驗證控件還可完成String字符串、Integer整型數(shù)、Double雙精度的浮點型數(shù)、Date日期類型、Currency貨幣類型數(shù)據(jù)的驗證?!纠?-6】學生成績范圍驗證本實例將進行學生成績(0-100)的整型數(shù)驗證,使用范圍驗證控件來實現(xiàn)學生成績信息的范圍驗證,防止用戶輸入錯誤。詳細過程可上機操作并參見教材內(nèi)容。7.5規(guī)則驗證控件

RegularExpressionValidator規(guī)則驗證控件用于確定輸入控件的值是否與某個正則表達式所定義的模式相匹配。該驗證類型允許檢查可預知的字符序列,如:社會保障號、電子郵件地址、電話號碼、郵政編碼等中的字符序列。規(guī)則驗證控件的語法如下:

<ASP:RegularExpressionValidator

ID="Validator_ID"RunAt="Server"

ControlToValidate="要驗證控件名"

ValidationExpression="正則表達式"

ErrorMessage="錯誤信息"Display="Static|Dymatic|None"></ASP:RegularExpressionValidator>7.5規(guī)則驗證控件

客戶端的正則表達式驗證語法和服務器端略有不同。在客戶端,使用的是JScript正則表達式語法。而在服務器端使用的則是Regex語法。由于JScript正則表達式語法是Regex語法的子集,所以最好使用JScript正則表達式語法,以便在客戶端和服務器端得到同樣的結(jié)果。7.5.1規(guī)則驗證控件常用的屬性和事件

1.規(guī)則驗證控件的屬性

規(guī)則驗證控件的屬性與其他驗證控件的屬性相似,常用的有:

使用待驗證控件ControlToValidate屬性指定被驗證的控件的ID屬性;

使用Text屬性獲取或指定該驗證控件未通過驗證時在驗證控件中顯示的文本,若未設定將顯示錯誤信息ErrorMessage屬性的文本;

使用ErrorMessage屬性指定未通過驗證時顯示在驗證摘要控件中的文本信息;

使用驗證表達式ValidationExpression屬性用于確定有效性的正則表達式。7.5.1規(guī)則驗證控件常用的屬性和事件

2.規(guī)則驗證控件的事件

規(guī)則驗證控件的事件主要有:

驗證Validate事件,用于對關聯(lián)的輸入控件進行驗證時觸發(fā);

數(shù)據(jù)綁定DataBinding事件,在要驗證控件的數(shù)據(jù)綁定表達式時觸發(fā);

釋放Dispoesd事件,在該驗證控件已被釋放后觸發(fā);

頁面加載Load事件,在加載頁面后觸發(fā);

頁面卸載Unload事件,在卸載驗證控件所在頁面時觸發(fā)。7.5.2創(chuàng)建正則表達式

正則表達式(也稱正規(guī)式)是計算機編譯原理中,用來描述單詞符號的方便工具。正則表達式提供了功能強大、靈活而又高效的方法來處理文本。正則表達式的全面模式匹配表示法可以快速地分析大量的文本以找到特定的字符模式;提取、編輯、替換或刪除文本子字符串;將提取的字符串添加到集合以生成報告。對于處理字符串(例如:HTML代碼、日志文件分析和HTTP標頭分析)的許多應用程序而言,正則表達式是不可缺少的工具。在RegularExpressionValidator規(guī)則驗證控件中,對于頁面中輸入框中所能接受的文本字符串樣式,都可以通過正規(guī)表達式來表示。下面先簡單介紹正規(guī)表達式的基本組成和寫法。7.5.2創(chuàng)建正則表達式

1.

正規(guī)表達式書寫形式

[] 用來定義可接收的字符

{} 用來定義必須輸入的字符數(shù)

|

用來表示“或”

() 表示可以使用括號

\

表示轉(zhuǎn)義例如:[a-z]匹配小寫英文字母;[A-Z]匹配大寫英文字母;[a-zA-Z]則匹配所有大小寫英文字母;[0-9]匹配所有數(shù)字;[\.\-\+]匹配所有句號、減號和加號;[^a-z]指除了小寫英文字母以外的所有字符;[^0-9]指除了數(shù)字以外的所有字符。7.5.2創(chuàng)建正則表達式

2.常用匹配符號

.匹配除“\n”(回車換行)之外的任何字符*指定零個或更多個匹配

+指定一個或多個匹配

?指定零個或一個匹配

[指定字符集] 匹配指定字符集中包含的任何單個字符

[^指定字符集] 匹配不在指定字符集中的任何單個字符

[0-9a-fA-F] 使用連字號“–”指定連續(xù)字符范圍

\s與任何空字符匹配

\d與任何十進制數(shù)字匹配

\w與任何單詞字符匹配,包括大小寫字母、數(shù)字和下劃線7.5.2創(chuàng)建正則表達式

3.正則表達式的書寫舉例

[a-zA-Z]{4,8}表示要求4-8個英文字母

[^a-zA-Z]{1,}表示不能包含字母,至少1個字符

[0-9]{3,}表示至少3個數(shù)字

{3,}表示至少3個字符

[a-zA-Z]{3,}表示至少3個英文字母

.{0,}表示任意字符

[A-Za-z0-9]{3}表示3個字母或數(shù)字,如123,r3a等

\.{3}表示3個點

.{1,}@.{3,}表示@前至少有1個字符,@后至少有3個字符

\(表示必須輸入左括號7.5.2創(chuàng)建正則表達式

3.正則表達式的書寫舉例

.{0,}河南.{0,} 表示必須包含有“河南”兩個字

\d{18}|\d{15}表示身份證號碼

(\d{3,4}-)?\d{7,8}表示中國的固定電話號碼(其中?表示最前的區(qū)號部分可出現(xiàn)一次,或不出現(xiàn))從上面的介紹和舉例可看出,正則表達式是一種文本模式,包括普通字符和特殊字符(稱為“元字符”)。模式描述在搜索文本時要匹配的一個或多個字符串。正則表達式的結(jié)構(gòu)與算術(shù)表達式的結(jié)構(gòu)類似。即各種元字符和運算符可以將小的表達式組合起來,創(chuàng)建大的表達式。7.5.2創(chuàng)建正則表達式

4.正則表達式的優(yōu)先級

正則表達式按從左到右的順序進行計算,并遵循規(guī)定的優(yōu)先級順序,這與算術(shù)表達式非常類似。下表從最高級到最低級說明了各種正則表達式運算符的優(yōu)先級順序。

運算符說明\轉(zhuǎn)義符(),(?:),(?=),[]括號和中括號*,+,?,{n},{n,},{n,m}限定符^,$,\anymetacharacter,anycharacter定位點和序列|替換7.5.3電子郵件驗證

在用戶注冊頁面中,通常需要用戶填寫電子郵件地址,然而電子郵件地址的組成較復雜,不能簡單地用前面介紹的必填驗證控件、比較驗證控件或范圍驗證控件來驗證,需要用特定的正規(guī)表達式來驗證。在E-mail地址驗證時要求:

(1)必須包含一個“@”;

(2)在“@”后面的字符串至少包含一個“.”號;

(3)“@”前面和后面的字符串由一個或一個以上字母、數(shù)字、下劃線或減號構(gòu)成。根據(jù)這幾條規(guī)則,可以得出以下正則表達式:

[a-zA-Z0-9_\-]{1,}@[a-zA-Z0-9_\-]{1,}\.[a-zA-Z0-9_\-.]{1,}7.5.3電子郵件驗證

【例7-7】電子郵件地址驗證本實例將在頁面中對用戶提交的電子郵件地址進行驗證。詳細過程可上機操作并參見教材內(nèi)容。7.5.4帶有0.5分的百分制成績驗證

通常錄入學生成績時,會遇到帶0.5的情況。首先分析一下表示帶有0.5的從0到100的數(shù)據(jù)正則表達式,1位整數(shù)部分帶有或不帶有0.5的正則表達式為[0-9](.5)?或\d{1}(.5)?;2位整數(shù)部分帶有或不帶有0.5的正則表達式為[0-9]{2}(.5)?或\d{2}(.5)?,但通常不會出現(xiàn)例如07.5的成績,因而還需去掉十位上的0,改進后的正則表達式為[1-9][0-9](.5)?或[1-9]\d{1}(.5)?;3位整數(shù)部分時只有100。綜合上面的3種情況,可得出正則表達式為(100)|([1-9]?[0-9](.5)?)。7.5.4帶有0.5分的百分制成績驗證

【例7-8】帶有0.5的百分制學生成績驗證

本實例將使用規(guī)則驗證控件實現(xiàn)學生成績的驗證,使用規(guī)則驗證控件中的正則表達式對輸入的成績進行格式的檢查和驗證。詳細過程可上機操作并參見教材內(nèi)容。7.6用戶驗證(CustomValidator)控件前面介紹的驗證控件可以完成特定的數(shù)據(jù)驗證,滿足用戶數(shù)據(jù)驗證的需求,然而由于它們專門針對特定的數(shù)據(jù)格式進行驗證,靈活性較差。而用戶驗證CustomValidator控件則可采用自定義的驗證邏輯創(chuàng)建驗證控件。用戶驗證控件的語法如下:

<ASP:CustomValidator

ID="Validator_ID"RunAt="Server"

ControlToValidate="要驗證的控件"

OnServerValidateFunction="驗證函數(shù)"

ErrorMessage="錯誤信息"Display="Static|Dymatic|None"></ASP:CustomValidator>7.6用戶驗證(CustomValidator)控件通常驗證控件大多是在服務器上執(zhí)行驗證檢查,它們同時還具有完整的客戶端實現(xiàn),該實現(xiàn)允許支持DHTML的瀏覽器(如MicrosoftInternetExplorer4.0或更高版本)在客戶端執(zhí)行驗證??蛻舳蓑炞C通過在向服務器發(fā)送用戶輸入前檢查用戶輸入來增強驗證過程。這使得在提交窗體前即可在客戶端檢測到錯誤,從而避免了服務器端驗證所需要的信息的來回傳遞,減少了網(wǎng)絡的數(shù)據(jù)流量,加快了數(shù)據(jù)的處理速度。若要創(chuàng)建服務器端驗證函數(shù),則需為執(zhí)行驗證的ServerValidate事件提供處理程序,通過將ServerValidateEventArgs對象的Value屬性作為參數(shù)傳遞到事件處理程序,可以獲取來自要驗證的輸入控件的字符串。驗證結(jié)果隨即存儲在ServerValidateEventArgs對象的IsValid屬性中。7.6用戶驗證(CustomValidator)控件對于客戶端自定義驗證,首先,需編寫驗證函數(shù),并添加到.aspx

頁面中;然后,將該驗證函數(shù)的名稱標識設置給CustomValidator用戶驗證控件的ClientValidationFunction屬性。自定義函數(shù)的形式必須為function函數(shù)名(source,args)。其中,source是客戶端CustomValidator對象,而args(arguments簡寫)是具有Value和IsValid兩個屬性的對象。Value屬性是要驗證的值,而IsValid屬性是一個布爾值,用于判斷驗證是否通過的返回結(jié)果。與其它驗證控件不同的是,CustomValidator用戶驗證控件可以在輸入為空值時決定是否驗證。ValidateEmptyText屬性默認為false,即為空時不驗證(此時跟其它控件是一樣的都不驗證),而若將該屬性設為true,則當驗證的輸入控件為空時同樣進行驗證,從而有效地保證驗證的有效性。7.6用戶驗證(CustomValidator)控件另外與其它驗證控件不同的是,CustomValidator用戶驗證控件可以不必綁定到某一表單控件,即ControlToValidate屬性不是必須的。不指定綁定的輸入控件時,在驗證函數(shù)中,可以直接通過語句訪問獲取表單中任意輸入控件的屬性值,從而進一步完成數(shù)據(jù)驗證,因而為數(shù)據(jù)驗證提供了極大的靈活性。7.6.1驗證輸入的數(shù)據(jù)是否為雙休日

在頁面上經(jīng)常需要用戶填寫日期數(shù)據(jù),對日期數(shù)據(jù)格式和范圍的驗證前面的實例中已經(jīng)講解,在下面的實例中,將對用戶填寫日期的周信息(星期幾)進行驗證。

CustomValidator用戶驗證控件提供服務器驗證和客戶端驗證兩種方式,下面的兩個實例將分別采用服務器端驗證和客戶端驗證,來實現(xiàn)驗證用戶輸入日期是否為雙休日?!纠?-9】采用服務器端驗證實現(xiàn)驗證用戶輸入日期是否為雙休日

本實例采用的是服務器端驗證,需要編寫在服務器端運行的用戶驗證控件的ServerValidate事件代碼,完成對輸入數(shù)據(jù)的驗證。詳細過程可上機操作并參見教材內(nèi)容。7.6.1驗證輸入的數(shù)據(jù)是否為雙休日

【例7-10】采用客戶器端驗證實現(xiàn)驗證用戶輸入日期是否為雙休日本實例采用的是客戶端驗證,需使用JavaScript編寫客戶端運行的驗證函數(shù);并將該驗證函數(shù)的名稱標識設置給CustomValidator用戶

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論