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

鍍金池/ 教程/ C#/ ASP.NET驗(yàn)證器
ASP.NET調(diào)試
ASP.NET Web Services
ASP.NET緩存
ASP.NET多線程
ASP.NET面板控件
ASP.NET數(shù)據(jù)綁定
ASP.NET數(shù)據(jù)源
ASP.NET個(gè)性化
ASP.Net教程
ASP.NET Ajax控件
ASP.NET生命周期
ASP.NET HTML服務(wù)器
ASP.NET簡(jiǎn)介
ASP.NET驗(yàn)證器
ASP.NET多視圖
ASP.NET網(wǎng)站配置
ASP.NET錯(cuò)誤管理
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ù)庫(kù)訪問(wèn)(Access)
ASP.NET基本控件
ASP.NET安全
ASP.NET指令
ASP.NET事件處理
ASP.NET第一個(gè)程序
ASP.NET日歷控件

ASP.NET驗(yàn)證器

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

ASP.NET提供了以下驗(yàn)證控件:

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

BaseValidator類

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

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

RequiredFieldValidator控件

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

控件的語(yǔ)法如下:

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

</asp:RequiredFieldValidator>

RangeValidator控件

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

它有三個(gè)特定的屬性:

編號(hào) 屬性 描述
1 Type 它定義了數(shù)據(jù)的類型。可用值包括:貨幣,日期,雙精度,整數(shù)和字符串。
2 MinimumValue 它指定范圍的最小值。
3 MaximumValue 它指定范圍的最大值。

控件的語(yǔ)法如下:

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

</asp:RangeValidator>

CompareValidator控件

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

它具有以下特定屬性:

編號(hào) 屬性 描述
1 Type 它用來(lái)指定數(shù)據(jù)的類型。
2 ControlToCompare 它指定要與之比較的輸入控件的值。
3 ValueToCompare 它指定了與之比較的常量值。
4 Operator 它指定比較運(yùn)算符,可用值為:EqualNotEqual,GreaterThanGreaterThanEqual,LessThan,LessThanEqualDataTypeCheck

該控件的基本語(yǔ)法如下所示:

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

</asp:CompareValidator>

RegularExpressionValidator

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

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

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

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

編號(hào) 元字符 描述
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)制字符。

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

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

控件的語(yǔ)法如下:

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

</asp:RegularExpressionValidator>

CustomValidator

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

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

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

控件的基本語(yǔ)法如下:

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

</asp:CustomValidator>

ValidationSummary

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

以下兩個(gè)相互包含的屬性列出了錯(cuò)誤消息:

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

控件的語(yǔ)法如下:

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

驗(yàn)證組

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

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

示例

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

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

在這個(gè)項(xiàng)目名稱上右鍵選擇:添加 -> 添加新項(xiàng) ,選擇:Web窗體 ,存儲(chǔ)名稱為: Default.aspx,如下所示 -

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

以下是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>驗(yàn)證器示例</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>請(qǐng)選擇一個(gè)候選人</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="請(qǐng)選擇一個(gè)候選人" 
               InitialValue="請(qǐng)選擇一個(gè)候選人">
            </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="請(qǐng)?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="請(qǐng)輸入電子郵件地址" 
               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="錯(cuò)誤信息提示:" />
</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í)行上面啟動(dòng)項(xiàng)目,可以看到以下結(jié)果 -

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


下一篇:ASP.NET多線程