I can 前端-09 數據驗證與ASP.NET驗證控件

數據驗證

what

對用戶輸入的數據的正確性進行驗證,常見是是否有輸入、格式、範圍、比較等

how

  • 寫代碼在後端驗證
    • 缺點在於:數據需要傳遞到後臺才進行驗證,會造成服務器壓力變大
    • 缺點在於:還要寫代碼,寫代碼意味着會出錯
  • 寫JS在前端驗證
    • 缺點在於:還要寫代碼,寫代碼意味着會出錯
  • 使用ASP.NET驗證控件
    • 缺點在於:啓動時,頁面會生成很多你不認識的東西
  • 使用JQuery等框架的驗證插件

ASP.NET 數據驗證控件

非空驗證控件

判斷是否輸入

<div>

   用戶名:<asp:TextBox ID="txtUserName" runat="server"></asp:TextBox>

   <asp:RequiredFieldValidator 
   ID="RequiredFieldValidator1" 
   ErrorMessage="請輸入用戶名!"
   ControlToValidate="txtUserName"  
   ForeColor="#FF3300">
   </asp:RequiredFieldValidator>

   <br />
   <br />
   <br />

   <asp:Button ID="Button1" runat="server" Text="提交註冊" />

</div>

這裏寫圖片描述

1流程

        當點擊【提交註冊】時,觸發驗證控件

2 使用

        從Toolbox中尋找【Validation】一欄中需要的驗證控件

        【ControlToValidate】屬性 = 驗證控件的ID
        【ErrorMessage】屬性 = 驗證不通過時顯示的文字
        【ForeColor】屬性 = 驗證不通過時顯示的文字顏色

比較驗證控件

判斷該輸入與另一個輸入是否相同

<div>

     用戶密碼:<asp:TextBox ID="txtPwd" runat="server" TextMode="Password"></asp:TextBox>

     <asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ControlToValidate="txtPwd" ErrorMessage="請輸入密碼!" ForeColor="#FF3300"></asp:RequiredFieldValidator>

        <br />
        <br />

    密碼確認:<asp:TextBox ID="txtConfirmPwd" runat="server" TextMode="Password"></asp:TextBox>


   <asp:RequiredFieldValidator ID="RequiredFieldValidator2" runat="server" ControlToValidate="txtConfirmPwd" Display="Dynamic" ErrorMessage="請再次輸入密碼!" ForeColor="#FF3300"></asp:RequiredFieldValidator>

   <asp:CompareValidator ID="CompareValidator1" runat="server" ControlToCompare="txtPwd" ControlToValidate="txtConfirmPwd" Display="Dynamic" ErrorMessage="兩次輸入密碼不正確!" ForeColor="#FF3300"></asp:CompareValidator>

        <br />
        <br />

   <asp:Button ID="btnSubmit" runat="server" Text="提交註冊" />

</div>

範圍驗證控件

驗證輸入是否在一個範圍內

<form id="form1" runat="server">

  學員體重:<asp:TextBox ID="txtWeight" runat="server"></asp:TextBox>

  <asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ControlToValidate="txtWeight" Display="Dynamic" ErrorMessage="請輸入體重!" ForeColor="#FF3300"></asp:RequiredFieldValidator>

  <asp:RangeValidator ID="RangeValidator1" runat="server" ControlToValidate="txtWeight" Display="Dynamic" ErrorMessage="學員體重必須在60-70kg之間!" ForeColor="#FF3300" MaximumValue="70" MinimumValue="60"></asp:RangeValidator>

  <br />
  <br />

  出生日期:<asp:TextBox ID="txtBirthday" runat="server"></asp:TextBox>

  <asp:RequiredFieldValidator ID="RequiredFieldValidator2" runat="server" ControlToValidate="txtBirthday" Display="Dynamic" ErrorMessage="請輸入出生日期!" ForeColor="#FF3300"></asp:RequiredFieldValidator>

  <asp:RangeValidator ID="RangeValidator2" runat="server" ControlToValidate="txtBirthday" ErrorMessage="出生日期必須在1990-1-1到2000-1-1之間" ForeColor="#FF3300" MaximumValue="2000-1-1" MinimumValue="1990-1-1" Type="Date"></asp:RangeValidator>

  <br />
  <br />

 <asp:Button ID="btnSubmit" runat="server" Text="提交註冊" />
</form>

正則表達式驗證控件

這裏寫圖片描述

已經帶有部分寫好的正則表達式

<body>
    <form id="form1" runat="server">
    <div>    
    電子郵件:<asp:TextBox ID="txtEmail" runat="server"></asp:TextBox>
    <asp:RegularExpressionValidator ID="RegularExpressionValidator1" runat="server" ControlToValidate="txtEmail" ErrorMessage="電子郵件格式不正確!" ForeColor="#FF3300" ValidationExpression="\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*"></asp:RegularExpressionValidator>

    <br />
    <br />
    <asp:Button ID="btnSubmit" runat="server" Text="提交註冊" />
    </div>
    </form>
</body>

驗證彙總控件

這個控件應該很少用到,他將所有的驗證彙總到一起顯示

<body>
    <form id="form1" runat="server">

    學員體重:<asp:TextBox ID="txtWeight" runat="server"></asp:TextBox>
    <asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server"
            ControlToValidate="txtWeight" ErrorMessage="請輸入體重!"
            ForeColor="#FF3300">*</asp:RequiredFieldValidator>
    <asp:RangeValidator ID="RangeValidator1" runat="server"
            ControlToValidate="txtWeight" Display="None" ErrorMessage="體重應該在60-70kg之間!"
            ForeColor="#FF3300" MaximumValue="70" MinimumValue="60" Type="Integer"></asp:RangeValidator>

        <br />
        <br />

    出生日期:<asp:TextBox ID="txtBirthday" runat="server"></asp:TextBox>
    <asp:RequiredFieldValidator ID="RequiredFieldValidator2" runat="server"
            ControlToValidate="txtBirthday" ErrorMessage="請輸入出生日期!"
            ForeColor="#FF3300">*</asp:RequiredFieldValidator>
    <asp:RangeValidator ID="RangeValidator2" runat="server"
            ControlToValidate="txtBirthday" Display="None"
            ErrorMessage="出生日期必須在在1990-1-1至2000-1-1之間" ForeColor="#FF3300"
            MaximumValue="2000-1-1" MinimumValue="1990-1-1" Type="Date"></asp:RangeValidator>

        <br />
        <br />

   <asp:Button ID="btnSubmit" runat="server" Text="提交註冊" />

        <br />
        <br />

    <asp:ValidationSummary ID="ValidationSummary1" runat="server" ForeColor="#FF3300" />
        <br />
    </form>
</body>
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章