1:RequiredFieldValidator控制項
2:RangeValidator控制項
3:RegularExpressionValidator控制項
4:CompareValidator控制項
5:CustomValidator控制項
6:ValidationSummary控制項
7:ValidationSummary控制項
8:CustomValidator控制項
9:一個輸入欄中使用多個資料驗證器
10:佔床與不佔床
11:如何禁用伺服器控制項的驗證功能
RequiredFieldValidator控制項
功能:用來檢驗某項是否必填
屬性:
1)ControlToValidte:用於檢驗的控制項。通常是文字框
2)Text:當檢驗的控制項無效時,所顯示的錯誤提示
3)SetFoucsOnError:當檢驗的控制項無效時,是否讓控制項得到焦點
如果檢驗沒有通過,則不會回傳給伺服器
RangeValidator控制項
功能:用來檢驗某項是否符合某個區間
屬性:
1)MaxValue:最大值。
2)MinValue:最小值。
3)Type:比較資料的類型
RegularExpressionValidator控制項
功能:用來檢驗某項是否符號Regex
屬性:
1)ValidationExpression:Regex
CompareValidator控制項
功能:用來比較兩個控制項值的情況
屬性:
1)ControlToCmpare:用於進行比較的控制項
2)ContrToValidte:要檢驗的控制項
3)Operator:指定如何進行比較
4)ValueToCompare:用於進行比較的值
用法:
1)與固定值進行比較:
比如:必須輸入大於20歲的年齡
2)檢查某一輸入項是否符合日期類型
3)與兩個控制項進行比較。比如用來檢查兩次輸入的密碼是否一致
ValidationSummary控制項[用得非常少]
功能:會把所以末通過檢驗的項目都顯示出來
步驟:
1)設定各個驗證控制項的ErrorMessage
2)設定HeadText的標題文字
CustomValidator控制項
功能:用來根據使用者需要來決定檢驗的條件
檢驗方式:可以在用戶端檢驗,也可以在伺服器端檢驗
進行用戶端檢驗步驟:
1)設定ControlToValidate屬性為決定要對那個控制項進行驗證
2)在CustomValidator的ServerValidate事件裡面寫上代碼:
args.Value:等於被檢驗控制項輸入的值
檢查args.Value是否符合檢證規則
如果驗證通過,則args.IsValid設定為True
如果驗證末通過,則args.IsValid設定為False
3)在按鈕裡面寫上:
if (IsValid)
{通過檢驗成功的代碼}
4)注意先觸發ServerValidate事件
再觸發按鈕的單擊事件
進行用戶端檢驗步驟:
1)設定ControlToValidate屬性為決定要對那個控制項進行驗證
2)定義一個js函數裡面有兩個參數:
function check(source,args)
3)寫上代碼:
檢查args.Value是否符合檢證規則
如果驗證通過,則args.IsValid設定為True
4)把屬性ClientValidationFunction設定為check
舉例:
1)讓使用者輸入一個數,判斷是否是偶數[用戶端驗證]
2)讓使用者輸入使用者名稱,判斷該使用者是否已經存在[伺服器端驗證]
一個輸入欄中使用多個資料驗證器
當需要多個條件同時滿足時。比如:年齡在20到40之間,但是又必須
輸入時
比如:
輸入使用者名稱時由5到8位英文字母所構成,但是又希望不可為空
佔床與不佔床
通過設定各個驗證控制項的Display為Dynamic則為不佔床
如何禁用伺服器控制項的驗證功能
在某些情況下,有些伺服器控制項可能需要避開用戶端和伺服器的驗證.如頁面
上有"登入"和"註冊"按鈕。其中的"汪冊"按鈕就不需要受驗證。
解決方案:CausesValidation屬性設為"False"就行了
舉例:
1:登入與註冊
2:一個按鈕希望把使用者輸入的資料提交到資料庫,一個按鈕希望
顯示所有資料庫的資料。很顯然,按鈕二不依賴資料的輸入,
但是按鈕二依然受檢驗