ASP.Net/Validation by Control/ValidationGroup

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

Use validation groups in ASP.NET 2.0 and beyond

   <source lang="csharp">

<%@ Page Language="C#" AutoEventWireup="true"%> <!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 groups</title>

</head> <script language="javascript"> function CheckMembership(source, arguments) {

 arguments.IsValid = false;
 var buf = arguments.Value;
 if (buf == "Normal" || buf== "Silver" ||
           buf == "Gold" || buf == "Platinum")
   arguments.IsValid = true;

} </script>

<body>

       <form id="form1" runat="server">
Name* <asp:textbox runat="server" id="fname" />
               <asp:RequiredFieldValidator runat="server" id="fnameValidator" ValidationGroup="NameGroup"
                   ControlToValidate="fname" 
                 Text="!!!"
ErrorMessage="Name is mandatory" />
Last Name* <asp:textbox runat="server" id="lname" />
               <asp:RequiredFieldValidator runat="server" id="lnameValidator" ValidationGroup="NameGroup"
                   ControlToValidate="lname" 
                 Text="!!!"
ErrorMessage="Last name is mandatory" />

Age <asp:textbox runat="server" id="age" text="15" />
               <asp:CompareValidator runat="server" id="ageValidator" 
                   ValidationGroup="PersonalDataGroup"
                   ControlToValidate="age" 
                 Operator="GreaterThanEqual" 
                 ValueToCompare="18"
                   Type="integer"
ErrorMessage="Age must be at least 18." />
Email <asp:textbox runat="server" id="email" />
               <asp:RegularExpressionValidator runat="server" id="emailValidator" 
                   ValidationGroup="PersonalDataGroup"
                   ControlToValidate="email" 
                 ValidationExpression="[a-zA-Z_0-9.-]+\@[a-zA-Z_0-9.-]+\.\w+" 
ErrorMessage="Must be an email address." />
Hire Date <asp:textbox runat="server" id="hired" />
               <asp:CompareValidator runat="server" id="hiredValidator" 
                      ValidationGroup="PersonalDataGroup"
                   ControlToValidate="hired" 
                 Display="Static"  
                 Operator="DataTypeCheck" 
                   Type="date"
                   ErrorMessage="Must enter a date." />
               <asp:RangeValidator runat="server" id="hiredDateValidator" 
                      ValidationGroup="PersonalDataGroup"            
                   ControlToValidate="hired" 
                 Display="Dynamic"
                   MinimumValue="2008-1-1"
                 MaximumValue="2008-12-31"
                   Type="Date"
ErrorMessage="Date after 1-1-99." />
Membership Level <asp:textbox runat="server" id="membership" />
               <asp:CustomValidator runat="server" id="membershipValidator" 
                       ValidationGroup="PersonalDataGroup"            
                   ControlToValidate="membership" 
                 ClientValidationFunction="CheckMembership"
ErrorMessage="Must be Gold or Platinum." />

     <asp:linkbutton ID="Linkbutton1" runat="server" Text="Validate Name..." ValidationGroup="NameGroup" />
     <asp:linkbutton ID="Linkbutton2" runat="server" Text="Validate Data..." ValidationGroup="PersonalDataGroup" />

       <asp:ValidationSummary ID="ValidationSummary1" runat="server"  
           ValidationGroup="NameGroup"
       ShowMessageBox="false" 
       ShowSummary="true" 
       HeaderText="The following errors occurred: (no message-box)"
       DisplayMode="List" />
       <asp:ValidationSummary ID="ValidationSummary2" runat="server"  
           ValidationGroup="PersonalDataGroup"
       ShowMessageBox="true" 
       ShowSummary="true" 
       HeaderText="The following errors occurred:"
       DisplayMode="BulletList" />
       </form>

</body> </html>

</source>