Visual Studio 2012 驗證項--RangeValidator、RequiredFieldValidator、CompareValidator、ValidationSummary

常用共有屬性
ControlToValidate:要判斷的元件ID
Display:顯示驗證向的方式,分為靜態(固定位子),或動態
ErrorMessage:若沒有設定text,為false的時候會顯示此屬性的文字
Text:為false的時候會顯示此屬性的文字
Type:要驗證的資料型態
ValidationGroup:若是有許多Button,不想每一個按鈕時都執行驗證,則命名此屬性,並將要引發驗證的Button之ValidationGroup設為同樣名稱



RequiredFieldValidator 

--->用來判斷TextBox(是否為空或指定之外的輸入值,且在驗證前會自動去掉輸入內容兩端的空格)

放入一個TextBox、RequiredFieldValidator 、Button。設定RequiredFieldValidator的ControlToValidate為TextBox1
InitialValue="輸入此設定之外的值為true "(沒輸入的話則為空白,若輸入了值,則空白亦會通過驗證)


aspx
 <asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ErrorMessage="錯誤"
             ControlToValidate="TextBox1" Display="static" InitialValue="4" ValidationGroup="VGG" ></asp:RequiredFieldValidator>
        <asp:Button ID="Button1" runat="server" Text="RB" style="margin-bottom: 0px" />
        <asp:Button ID="Button2" runat="server" Text="Button" ValidationGroup="VGG"  />

設定完ValidationGroup後,輸入4,按Button按鈕會顯示錯誤,按RB按鈕則不會顯示
若沒設定,則兩個按鈕皆會引發


button是否會引發驗證,須將CausesValidation設為true(預設為true)






RangeValidator

--->驗證控制項的值是否在所要的範圍內

放入一個TextBox、RequiredFieldValidator 、Button
設定驗證項(ControlToValidate)為TextBox1。範圍最大值(MaximumValue)為6,最小值(MinimumValue)為5。資料型態預設為字串(String)

aspx
<asp:RangeValidator ID="RangeValidator1" runat="server" ErrorMessage="RangeValidator" ControlToValidate="TextBox1" Display="Dynamic" MaximumValue="6" MinimumValue="5"></asp:RangeValidator>
 <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>

 <asp:Button ID="submit" runat="server" Text="Button" OnClick="submit_Click" />

因為要驗證的資料型態為String,因此"5開頭"的與單一個"6"皆會通過驗證(空白也會通過驗證)









CompareValidator

---> 控制項與另一控制項進行比較


放入二個TextBox、CompareValidator 、Button
設定驗證的控制項(ControlToValidate)為TextBox1,與TextBox2比較(ControlToCompare)
資料型態(Type)為數字(Integer)
(亦可以先設定要比較的數值--->ValueToCompare)
(Operator預設為相等(Equals)才可通過,亦可以不相等、大小於、日期等等)
(皆為空白、其中之一為空白亦會通過驗證)

<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
   <asp:TextBox ID="TextBox2" runat="server"></asp:TextBox>
 <asp:CompareValidator ID="CompareValidator1" runat="server" ControlToCompare="TextBox2" ControlToValidate="TextBox1" ErrorMessage="錯誤" Type="Integer"></asp:CompareValidator>
<asp:Button ID="submit" runat="server" Text="Button" OnClick="submit_Click" />









RegularExpressionValidator

--->設定運算式,並對控制項進行驗證
(自訂運算式的定義字元)

放入一個TextBox、RegularExpressionValidator、Button
設定驗證項(ControlToValidate)為TextBox1。

<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
<asp:RegularExpressionValidator ID="RegularExpressionValidator1" runat="server" ErrorMessage="RegularExpressionValidator" ControlToValidate="TextBox1" ValidationExpression="\d"></asp:RegularExpressionValidator>
<asp:Button ID="submit" runat="server" Text="Button" OnClick="submit_Click" />




ValidationSummary

顯示網頁中控制項的ErrorMessage,無其他驗證功能。
DisplayMode:預設為BulletList(一個驗證項顯示一行),也可SingleParagraph(所有驗證項顯示在一行)


使用上述RequiredFieldValidator與RegularExpressionValidator範例
(文字框1若輸入11為false,文字框2輸入0~9之外的文字為false)

 <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
        <asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ControlToValidate="TextBox1" ErrorMessage="文字框1錯誤" InitialValue="11">TEXTBOX1</asp:RequiredFieldValidator>

        <asp:TextBox ID="TextBox2" runat="server"></asp:TextBox>
        <asp:RegularExpressionValidator ID="RegularExpressionValidator1" runat="server" ErrorMessage="文字框2錯誤" ControlToValidate="TextBox2" ValidationExpression="\d">TEXTBOX2</asp:RegularExpressionValidator>

        <asp:Button ID="submit" runat="server" Text="Button" OnClick="submit_Click" />

        <asp:ValidationSummary ID="ValidationSummary1" runat="server" />









--------------------------------------------------------------------------------------------------------


若出現以下錯誤

在C槽搜尋"AspNet.ScriptManager.jQuery.DLL"
找到後
複製到專案下的bin資料夾
亦有人說加入參考即可(在專案按右鍵--->加入 ---> 現有項目 ---> AspNet.ScriptManager.jQuery.DLL)







http://rritw.com/a/bianchengyuyan/_NET/20121120/256864.html
屬性
描述
BackColor
背景顏色
ControlToValidate
被驗證的控制項的 id
Display
控制項中錯誤資訊的顯示行為。
·         None - 驗證消息從不內聯顯示。
·         Static - 在頁面佈局中分配用於顯示驗證消息的空間。
·         Dynamic - 如果驗證失敗,將用於顯示驗證消息的空間動態添加到頁面。
EnableClientScript
boolean,規定是否啟用客戶端驗證。true為啟用,false為不啟用。
Enabled
boolean,規定是否啟用驗證控制項。true為啟用,false為不啟用。
ErrorMessage
當驗證失敗時,在 ValidationSummary 控制項中顯示的文本。
注釋:如果未設置 Text 屬性,文本也會顯示在該驗證控制項中。
ForeColor
控制項的前景色。即錯誤信息的字體顏色。
id
控制項的唯一 id
InitialValue
規定輸入控制項的初始值(開始值)。默認是空字串。
它指示了您不希望用戶在輸入控制項中輸入的值。
IsValid
boolean,指示關聯的輸入控制項是否通過驗證。true為通過,false為未通過。
runat
規定該控制項是一個服務器控制項。必須設置為 "server"
Text
當驗證失敗時顯示的消息。

留言

這個網誌中的熱門文章

SQL SEVER備份與還原遭遇問題

asp.net頁面間傳值