在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 教程/ C#/ ASP.NET驗證器
ASP.NET調(diào)試
ASP.NET Web Services
ASP.NET緩存
ASP.NET多線程
ASP.NET面板控件
ASP.NET數(shù)據(jù)綁定
ASP.NET數(shù)據(jù)源
ASP.NET個性化
ASP.Net教程
ASP.NET Ajax控件
ASP.NET生命周期
ASP.NET HTML服務(wù)器
ASP.NET簡介
ASP.NET驗證器
ASP.NET多視圖
ASP.NET網(wǎng)站配置
ASP.NET錯誤管理
ASP.NET自定義控件
ASP.NET LINQ
ASP.NET AdRotator控件
ASP.NET客戶端
ASP.NET文件上傳
ASP.NET服務(wù)器控件
ASP.NET開發(fā)環(huán)境配置
ASP.NET管理狀態(tài)
ASP.NET服務(wù)端
ASP.NET數(shù)據(jù)庫訪問(Access)
ASP.NET基本控件
ASP.NET安全
ASP.NET指令
ASP.NET事件處理
ASP.NET第一個程序
ASP.NET日歷控件

ASP.NET驗證器

ASP.NET驗證控件主要用來驗證用戶輸入數(shù)據(jù),以確保無用的,未經(jīng)驗證的或矛盾的數(shù)據(jù)不會被存儲到服務(wù)器中。

ASP.NET提供了以下驗證控件:

  • RequiredFieldValidator
  • RangeValidator
  • CompareValidator
  • RegularExpressionValidator
  • CustomValidator
  • ValidationSummary

BaseValidator類

其它驗證控件類是從BaseValidator類繼承的,因此它們繼承了它的屬性和方法。 因此,這將有助于查看此基類的屬性和方法,這對于所有驗證控件都是常見的:

編號 方法 描述
1 ControlToValidate 指示要驗證的輸入控件。
2 Display 指示如何顯示錯誤消息。
3 EnableClientScript 指示是否需要客戶端驗證。
4 Enabled 啟用或禁用驗證器。
5 ErrorMessage 指示錯誤字符串信息。
6 Text 如果驗證失敗,將顯示此錯誤文本。
7 IsValid 指示控件的值是否有效。
8 SetFocusOnError 它表示在無效控制的情況下,焦點應(yīng)該切換到相關(guān)的輸入控件。
9 ValidationGroup 該控件所屬的多個驗證器的邏輯組。
10 Validate() 此方法重新驗證控件并更新IsValid屬性。

RequiredFieldValidator控件

RequiredFieldValidator控件確保所需字段不為空。它通常綁定到一個文本框強制輸入到文本框中。

控件的語法如下:

<asp:RequiredFieldValidator ID="rfvcandidate" 
   runat="server" ControlToValidate ="ddlcandidate"
   ErrorMessage="Please choose a candidate" 
   InitialValue="Please choose a candidate">

</asp:RequiredFieldValidator>

RangeValidator控件

RangeValidator控件驗證輸入值是否在預(yù)定的范圍內(nèi)。

它有三個特定的屬性:

編號 屬性 描述
1 Type 它定義了數(shù)據(jù)的類型??捎弥蛋ǎ贺泿牛掌?,雙精度,整數(shù)和字符串。
2 MinimumValue 它指定范圍的最小值。
3 MaximumValue 它指定范圍的最大值。

控件的語法如下:

<asp:RangeValidator ID="rvclass" runat="server" ControlToValidate="txtclass" 
   ErrorMessage="Enter your class (6 - 12)" MaximumValue="12" 
   MinimumValue="6" Type="Integer">

</asp:RangeValidator>

CompareValidator控件

CompareValidator控件將一個控件中的值與另一個控件中的固定值或值進(jìn)行比較。

它具有以下特定屬性:

編號 屬性 描述
1 Type 它用來指定數(shù)據(jù)的類型。
2 ControlToCompare 它指定要與之比較的輸入控件的值。
3 ValueToCompare 它指定了與之比較的常量值。
4 Operator 它指定比較運算符,可用值為:Equal,NotEqualGreaterThan,GreaterThanEqualLessThan,LessThanEqualDataTypeCheck。

該控件的基本語法如下所示:

<asp:CompareValidator ID="CompareValidator1" runat="server" 
   ErrorMessage="CompareValidator">

</asp:CompareValidator>

RegularExpressionValidator

RegularExpressionValidator允許通過匹配正則表達(dá)式的模式來驗證輸入文本。正則表達(dá)式在ValidationExpression屬性中設(shè)置。

下表總結(jié)了正則表達(dá)式的常用語法結(jié)構(gòu):

編號 字符轉(zhuǎn)義 描述
1 \b 匹配一個退格符。
2 \t 匹配一個制表符。
3 ValueToCompare 它指定了與之比較的常量值。
4 \r 匹配回車。
5 \v 匹配垂直制表符。
6 \f 匹配換頁
7 \n 匹配一個新的行。
8 \ 轉(zhuǎn)義字符。

除了單字符匹配之外,還可以指定一組可以匹配的字符,稱為元字符。

編號 元字符 描述
1 . 匹配除\n之外的任何字符。
2 [abcd] 匹配集合中的任何字符。
3 [^abcd] 匹配不是集合中的任何字符。
4 [2-7a-mA-M] 匹配范圍中指定的任何字符。
5 \w 匹配任何字母數(shù)字字符和下劃線。
6 \W 匹配任何非單詞字符。
7 \s 匹配空格字符,如空格,制表符,新行。
8 \S 匹配任何非空白字符。
6 \d 匹配任何十進(jìn)制字符。
7 \D 匹配任何非十進(jìn)制字符。

可以使用量詞來指定的字符可能出現(xiàn)次數(shù)。

編號 量詞 描述
1 * 零或多個匹配
2 + 一個或多個匹配。
3 ? 零個或一個匹配。
4 {N} N個匹配
5 {N,} 至少N次匹配
6 {N,M} NM次匹配

控件的語法如下:

<asp:RegularExpressionValidator ID="string" runat="server" ErrorMessage="string"
   ValidationExpression="string" ValidationGroup="string">

</asp:RegularExpressionValidator>

CustomValidator

CustomValidator控件允許為客戶端和服務(wù)器端驗證編寫特定于應(yīng)用程序的自定義驗證例程。

客戶端驗證通過ClientValidationFunction屬性完成。 客戶端驗證例程應(yīng)該用瀏覽器可以理解的腳本語言編寫,例如JavaScript或VBScript。

服務(wù)器端驗證例程必須從控件的ServerValidate事件處理程序中調(diào)用。服務(wù)器端驗證例程應(yīng)該用C#VB.Net.Net語言編寫。

控件的基本語法如下:

<asp:CustomValidator ID="CustomValidator1" runat="server" 
   ClientValidationFunction=.cvf_func. ErrorMessage="CustomValidator">

</asp:CustomValidator>

ValidationSummary

ValidationSummary控件不執(zhí)行任何驗證,但顯示頁面中所有錯誤的摘要。 摘要顯示驗證失敗的所有驗證控件的ErrorMessage屬性的值。

以下兩個相互包含的屬性列出了錯誤消息:

  • ShowSummary:以指定的格式顯示錯誤信息。
  • ShowMessageBox:在單獨的窗口中顯示錯誤消息。

控件的語法如下:

<asp:ValidationSummary ID="ValidationSummary1" runat="server" 
   DisplayMode = "BulletList" ShowSummary = "true" HeaderText="Errors:" />

驗證組

復(fù)雜的頁面在不同的面板中提供不同的信息組。在這種情況下,可能需要為單獨的組分別進(jìn)行驗證。這種情況是使用驗證組來處理的。

要創(chuàng)建驗證組,應(yīng)該通過設(shè)置其ValidationGroup屬性將輸入控件和驗證控件放入同一個邏輯組中。

示例

下面的例子描述了一個由所有投票人來填寫的表單信息,分成四個信息段,用來選舉總統(tǒng)。 在這里,使用驗證控件來驗證用戶輸入。

首先打開Visual Studio,創(chuàng)建一個名稱為:Validators 的空網(wǎng)站項目,如下圖所示 -

在這個項目名稱上右鍵選擇:添加 -> 添加新項 ,選擇:Web窗體 ,存儲名稱為: Default.aspx,如下所示 -

這是設(shè)計視圖中的表單:

以下是Defalut.aspx 文件的內(nèi)容:

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <title>驗證器示例</title>
</head>
<body>
    <form id="form1" runat="server">

   <table style="width: 66%;">

      <tr>
         <td class="style1" colspan="3" align="center">
         <asp:Label ID="lblmsg" 
            Text="選擇您支持的總統(tǒng)" 
            runat="server" style="font-weight:bold;"/>
         </td>
      </tr>

      <tr>
         <td class="style3" style="width:64px;">
            候選人:
         </td>

         <td class="style2">
            <asp:DropDownList ID="ddlcandidate" runat="server"  style="width:239px">
               <asp:ListItem>請選擇一個候選人</asp:ListItem>
               <asp:ListItem>渣渣輝</asp:ListItem>
               <asp:ListItem>李布朗</asp:ListItem>
               <asp:ListItem>小布什</asp:ListItem>
               <asp:ListItem>特朗撲</asp:ListItem>
            </asp:DropDownList>
         </td>

         <td>
            <asp:RequiredFieldValidator ID="rfvcandidate" 
               runat="server" ControlToValidate ="ddlcandidate"
               ErrorMessage="請選擇一個候選人" 
               InitialValue="請選擇一個候選人">
            </asp:RequiredFieldValidator>
         </td>
      </tr>

      <tr>
         <td class="style3">
            性別:
         </td>

         <td class="style2">
            <asp:RadioButtonList ID="rblhouse" runat="server" RepeatLayout="Flow">
               <asp:ListItem>男</asp:ListItem>
               <asp:ListItem>女</asp:ListItem>
               <asp:ListItem>其它</asp:ListItem>
            </asp:RadioButtonList>
         </td>

         <td>
            <asp:RequiredFieldValidator ID="rfvhouse" runat="server" 
               ControlToValidate="rblhouse" ErrorMessage="選擇性別" >
            </asp:RequiredFieldValidator>
            <br />
         </td>
      </tr>

      <tr>
         <td class="style3">
            年齡:
         </td>

         <td class="style2">
            <asp:TextBox ID="txtclass" runat="server"></asp:TextBox>
         </td>

         <td>
            <asp:RangeValidator ID="rvclass" 
               runat="server" ControlToValidate="txtclass" 
               ErrorMessage="請?zhí)顚懩挲g (16 - 70)" MaximumValue="70" 
               MinimumValue="16" Type="Integer">
            </asp:RangeValidator>
         </td>
      </tr>

      <tr>
         <td class="style3">
            Email:
         </td>

         <td class="style2">
            <asp:TextBox ID="txtemail" runat="server" style="width:250px">
            </asp:TextBox>
         </td>

         <td>
            <asp:RegularExpressionValidator ID="remail" runat="server" 
               ControlToValidate="txtemail" ErrorMessage="請輸入電子郵件地址" 
               ValidationExpression="\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*">
            </asp:RegularExpressionValidator>
         </td>
      </tr>

      <tr>
         <td class="style3" align="center" colspan="3">
            <asp:Button ID="btnsubmit" runat="server" onclick="btnsubmit_Click" 
               style="text-align: center;width:140px" Text="確認(rèn)提交"/>
         </td>
      </tr>
   </table>
   <asp:ValidationSummary ID="ValidationSummary1" runat="server" 
      DisplayMode ="BulletList" ShowSummary ="true" HeaderText="錯誤信息提示:" />
</form>
</body>
</html>

以下是Defalut.aspx.cs 文件的內(nèi)容:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

public partial class _Default : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        UnobtrusiveValidationMode = UnobtrusiveValidationMode.None;
    }
    protected void btnsubmit_Click(object sender, EventArgs e)
    {
        if (Page.IsValid)
        {
            lblmsg.Text = "感謝支持";
        }
        else
        {
            lblmsg.Text = "填寫所有內(nèi)容";
        }
    }
}

執(zhí)行上面啟動項目,可以看到以下結(jié)果 -

填寫完成表單所有項目,然后提交,得到以下結(jié)果 -


下一篇:ASP.NET多線程