ASP.NET Tutorial/Validation/ValidationSummary — различия между версиями

Материал из .Net Framework эксперт
Перейти к: навигация, поиск
м (1 версия)
 
м (1 версия)
 
(нет различий)

Текущая версия на 14:57, 26 мая 2010

Important properties of ValidationSummary control

   <source lang="csharp">

DisplayMode: how the error messages are formatted.

            Possible values are BulletList, List, and SingleParagraph.

HeaderText: display header text above the validation summary. ShowMessageBox: display a popup alert box. ShowSummary: hide the validation summary in the page. <%@ Page Language="C#" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" > <head id="Head1" runat="server">

   <title>Show Summary Popup</title>

</head> <body>

   <form id="form1" runat="server">
   <asp:ValidationSummary
       id="ValidationSummary1"
       ShowMessageBox="true"
       ShowSummary="false"
       Runat="server" />
   <asp:Label
       id="lblFirstName"
       Text="First Name:"
       AssociatedControlID="txtFirstName"
       Runat="server" />
   
<asp:TextBox id="txtFirstName" Runat="server" /> <asp:RequiredFieldValidator id="reqFirstName" ErrorMessage="First Name is required" ControlToValidate="txtFirstName" Display="None" Runat="server" />

<asp:Label id="lblLastName" Text="Last Name:" AssociatedControlID="txtLastName" Runat="server" />
<asp:TextBox id="txtLastName" Runat="server" /> <asp:RequiredFieldValidator id="reqLastName" ErrorMessage="Last Name is required" ControlToValidate="txtLastName" Display="None" Runat="server" />

<asp:Button id="btnSubmit" Text="Submit" Runat="server" />
   </form>

</body> </html></source>


RequiredFieldValidatorSummary DisplayMode

   <source lang="csharp">

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="Default_aspx" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" > <head runat="server">

   <title>Required Field Validation</title>

</head> <body>

   <form runat="server" ID="frmBugs">
     <asp:Label ID="lblMsg" 
                 Text="Please report your bug here" 
                 ForeColor="red" Font-Name="Verdana" 
                 Font-Size="10" runat=server />
     <ASP:DropDownList id=ddlBooks runat=server>
                    <asp:ListItem>-- Please Pick A Book --</asp:ListItem>
                    <asp:ListItem>Programming ASP.NET</asp:ListItem>
                    <asp:ListItem>Programming .NET Windows Applications</asp:ListItem>
                    <asp:ListItem>Programming C#</asp:ListItem>
                    <asp:ListItem>Programming Visual Basic 2005</asp:ListItem>
                    <asp:ListItem>
                       Teach Yourself C++ In 21 Days
                    </asp:ListItem>
                    <asp:ListItem>
                       Teach Yourself C++ In 24 Hours
                    </asp:ListItem>
                    <asp:ListItem>TY C++ In 10 Minutes</asp:ListItem>
                    <asp:ListItem>TY More C++ In 21 Days</asp:ListItem>
                    <asp:ListItem>C++ Unleashed</asp:ListItem>
                 </ASP:DropDownList>
              </td>
              
              <td align=center rowspan=1>
                 <asp:RequiredFieldValidator 
                 id="reqFieldBooks" 
                 ControlToValidate="ddlBooks" 
                 Display="Static" 
                 InitialValue="-- Please Pick A Book --" 
                 ErrorMessage = "You did not choose a book from the drop-down"
                 Width="100%" runat=server> * </asp:RequiredFieldValidator>
              <td>
                 <ASP:RadioButtonList id=rblEdition 
                 RepeatLayout="Flow" runat=server>
                    <asp:ListItem>1st</asp:ListItem>
                    <asp:ListItem>2nd</asp:ListItem>
                    <asp:ListItem>3rd</asp:ListItem>
                    <asp:ListItem>4th</asp:ListItem>
                 </ASP:RadioButtonList>
              </td>
               <td align=center rowspan=1>
                 <asp:RequiredFieldValidator 
                 id="reqFieldEdition" 
                 ControlToValidate="rblEdition" 
                 ErrorMessage = "You did not pick an edition"
                 Display="Static" 
                 InitialValue="" 
                 Width="100%" runat=server>*</asp:RequiredFieldValidator>
                 <ASP:TextBox id=txtBug 
                              runat=server 
                              width="183px" 
                              textmode="MultiLine" 
                              height="68px"/>
                 <asp:RequiredFieldValidator 
                 id="reqFieldBug" 
                 ControlToValidate="txtBug" 
                 ErrorMessage = "You must provide bug details"
                 Display="Static" 
                 Width="100%" runat=server>*</asp:RequiredFieldValidator>
                   <asp:DropDownList id="lstDisplay" 
                   AutoPostBack=true 
                   OnSelectedIndexChanged="lstDisplay_SelectedIndexChanged"
                   runat=server>
                           <asp:ListItem Selected ="true">Summary</asp:ListItem>
                           <asp:ListItem>Msg. Box</asp:ListItem>
                   </asp:DropDownList>
                   <asp:DropDownList id="lstFormat" 
                   AutoPostBack=true 
                   OnSelectedIndexChanged="lstFormat_SelectedIndexChanged"
                   runat=server>
                       <asp:ListItem>List</asp:ListItem>
                       <asp:ListItem Selected="true">Bulleted List</asp:ListItem>
                       <asp:ListItem>Single Paragraph</asp:ListItem>
                   </asp:DropDownList>
                 <ASP:Button id=btnSubmit 
                 text="Submit Bug" runat=server OnClick="btnSubmit_Click" />
        <asp:ValidationSummary 
        ID="ValSum" runat="server" 
        DisplayMode="BulletList"
        HeaderText="The following errors were found: " ShowSummary="True" />
   </div>
   </form>

</body> </html> File: Default.aspx.cs using System; using System.Data; using System.Configuration; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; public partial class Default_aspx : System.Web.UI.Page {

 protected void btnSubmit_Click(object sender, EventArgs e)
 {
   if (Page.IsValid)
   {
     lblMsg.Text = "Page is Valid!";
   }
   else
   {
     lblMsg.Text = "Some of the required fields are empty";
   }
 }
 protected void lstFormat_SelectedIndexChanged(object sender, EventArgs e)
 {
   ValSum.DisplayMode =
      (ValidationSummaryDisplayMode)
      lstFormat.SelectedIndex;
 }
 protected void lstDisplay_SelectedIndexChanged(object sender, EventArgs e)
 {
   ValSum.ShowSummary = lstDisplay.SelectedIndex == 0;
   ValSum.ShowMessageBox = lstDisplay.SelectedIndex == 1;
 }

}</source>


Use ValidationSummary to display message box (C#)

   <source lang="csharp">

File: Default.aspx <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="ValidationSummary" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" > <head runat="server">

   <title>Validation Summary</title>

</head> <body>

   <form id="form1" runat="server">
   A number (1 to 10):
 <asp:textbox id="txtValidated" runat="server"></asp:textbox> 
 <asp:rangevalidator id="RangeValidator" 
                     runat="server" 
                     Type="Integer" 
                     MinimumValue="1" 
                     MaximumValue="10" 
                     ControlToValidate="txtValidated" 
                     Text="<img src="ErrorIcon.jpg" alt="Error" />"
                       ErrorMessage="The First Number Is Not In The Range">
   </asp:rangevalidator>
 Not validated:
 <asp:textbox id="txtNotValidated" runat="server"></asp:textbox>

<asp:button id="cmdOK" runat="server" Text="OK" OnClick="cmdOK_Click" Width="44px"></asp:button>

<asp:label id="lblMessage" runat="server" EnableViewState="False"></asp:label>

<asp:ValidationSummary id="ValidationSummary1" runat="server" ShowMessageBox="True"></asp:ValidationSummary>
   </form>

</body> </html> File: Default.aspx.cs

using System; using System.Data; using System.Configuration; using System.Collections; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; public partial class ValidationSummary : System.Web.UI.Page {

 protected void cmdOK_Click(object sender, EventArgs e)
 {
   if (!Page.IsValid) return;
   lblMessage.Text = "cmdOK_Click event handler executed.";
 }

}</source>


ValidationSummary DisplayMode=BulletList

   <source lang="csharp">

<%@ Page Language="C#"%> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" > <head runat="server">

   <title>Using ValidationSummary</title>

</head> <body>

   <form id="form1" runat="server">
     Book
     
<asp:DropDownList ID="lstBooks" runat="server"> <asp:ListItem Value="0" Selected="True">Please pick a book</asp:ListItem> <asp:ListItem Value="1">A</asp:ListItem> <asp:ListItem Value="2">B</asp:ListItem> <asp:ListItem Value="3">C</asp:ListItem> </asp:DropDownList> <asp:RequiredFieldValidator ID="reqBook" runat="server" ControlToValidate="lstBooks" SetFocusOnError="true" Text="*" InitialValue="0" Display="static" ErrorMessage="Please choose a book from list"/> User Name:
<asp:TextBox ID="txtUserName" runat="server"></asp:TextBox> <asp:RequiredFieldValidator ID="reqUserName" runat="server" ControlToValidate="txtUserName" SetFocusOnError="true" Text="*" Display="static" ErrorMessage="Please enter a User Name"/> Password:
<asp:TextBox ID="txtPassword" runat="server"></asp:TextBox> <asp:RequiredFieldValidator ID="reqPassword" runat="server" ControlToValidate="txtPassword" SetFocusOnError="true" Text="*" Display="static" ErrorMessage="Please enter a password"/> <asp:ValidationSummary id="valSum" runat="server" DisplayMode="BulletList" HeaderText="The following errors were found:" ShowMessageBox="false" ShowSummary="true" /> <asp:Button ID="btnSubmit" Text="Click this to test validation" runat="server" />
   </form>

</body> </html></source>


ValidationSummary displays a list of validation errors

   <source lang="csharp">

<%@ Page Language="C#" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" > <head id="Head1" runat="server">

   <title>Show ValidationSummary</title>

</head> <body>

   <form id="form1" runat="server">
   <asp:ValidationSummary
       id="ValidationSummary1"
       Runat="server" />
   <asp:Label
       id="lblFirstName"
       Text="First Name:"
       AssociatedControlID="txtFirstName"
       Runat="server" />
   
<asp:TextBox id="txtFirstName" Runat="server" /> <asp:RequiredFieldValidator id="reqFirstName" Text="(Required)" ErrorMessage="First Name is required" ControlToValidate="txtFirstName" Runat="server" />

<asp:Label id="lblLastName" Text="Last Name:" AssociatedControlID="txtLastName" Runat="server" />
<asp:TextBox id="txtLastName" Runat="server" /> <asp:RequiredFieldValidator id="reqLastName" Text="(Required)" ErrorMessage="Last Name is required" ControlToValidate="txtLastName" Runat="server" />

<asp:Button id="btnSubmit" Text="Submit" Runat="server" />
   </form>

</body> </html></source>