CustomValidator.OnServerValidate(String) Metódus

Definíció

ServerValidate A vezérlő eseményét emeli CustomValidator ki.

protected:
 virtual bool OnServerValidate(System::String ^ value);
protected virtual bool OnServerValidate(string value);
abstract member OnServerValidate : string -> bool
override this.OnServerValidate : string -> bool
Protected Overridable Function OnServerValidate (value As String) As Boolean

Paraméterek

value
String

Az érvényesítendő érték.

Válaszok

trueha a paraméter által megadott érték megfelel az value ellenőrzésnek; ellenkező esetben. false

Példák

Az alábbi példakód bemutatja, hogyan adhat meg és kódolhat kezelőt egy kiszolgálóoldali CustomValidator vezérlőhöz.

Important

Ebben a példában egy szövegdoboz található, amely elfogadja a felhasználói bemenetet, ami potenciális biztonsági fenyegetés. Alapértelmezés szerint ASP.NET weblapok ellenőrzik, hogy a felhasználói bevitel nem tartalmaz-e szkript- vagy HTML-elemeket. További információ: Szkript kihasználása – áttekintés.


<%@ Page Language="C#" AutoEventWireup="True" %>

<!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>
    <title>CustomValidator ServerValidate Example</title>
<script runat="server">

      void ValidateBtn_OnClick(object sender, EventArgs e) 
      { 

         // Display whether the page passed validation.
         if (Page.IsValid) 
         {

            Message.Text = "Page is valid.";

         }

         else 
         {

            Message.Text = "Page is not valid!";

         }

      }

      void ServerValidation(object source, ServerValidateEventArgs args)
      {

         try 
         {

            // Test whether the value entered into the text box is even.
            int i = int.Parse(args.Value);
            args.IsValid = ((i%2) == 0);

         }

         catch(Exception ex)
         {

            args.IsValid = false;

         }

      }

   </script>    

</head>
<body>

   <form id="form1" runat="server">
  
      <h3>CustomValidator ServerValidate Example</h3>

      <asp:Label id="Message"  
           Text="Enter an even number:" 
           Font-Names="Verdana" 
           Font-Size="10pt" 
           runat="server"
           AssociatedControlID="Text1"/>

      <br />

      <asp:TextBox id="Text1" 
           runat="server" />
    
        

      <asp:CustomValidator id="CustomValidator1"
           ControlToValidate="Text1"
           Display="Static"
           ErrorMessage="Not an even number!"
           ForeColor="green"
           Font-Names="verdana" 
           Font-Size="10pt"
           OnServerValidate="ServerValidation"
           runat="server"/>

      <br />
 
      <asp:Button id="Button1"
           Text="Validate" 
           OnClick="ValidateBtn_OnClick" 
           runat="server"/>

   </form>
  
</body>
</html>

<%@ Page Language="VB" AutoEventWireup="True" %>

<!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>
    <title>CustomValidator ServerValidate Example</title>
<script runat="server">

      Sub ValidateBtn_OnClick(sender As Object, e As EventArgs) 

         ' Display whether the page passed validation.
         If Page.IsValid Then 

            Message.Text = "Page is valid."

         Else 

            Message.Text = "Page is not valid!"

         End If

      End Sub

      Sub ServerValidation(source As Object, args As ServerValidateEventArgs)

         Try 

            ' Test whether the value entered into the text box is even.
            Dim num As Integer = Integer.Parse(args.Value)
            args.IsValid = ((num mod 2) = 0)
 
         Catch ex As Exception
         
            args.IsValid = false

         End Try

      End Sub

   </script>    

</head>
<body>

   <form id="form1" runat="server">
  
      <h3>CustomValidator ServerValidate Example</h3>

      <asp:Label id="Message"
           Text="Enter an even number:" 
           Font-Names="Verdana" 
           Font-Size="10pt" 
           runat="server"
           AssociatedControlID="Text1" />

      <br />

      <asp:TextBox id="Text1" 
           runat="server" />
    
        

      <asp:CustomValidator id="CustomValidator1"
           ControlToValidate="Text1"
           Display="Static"
           ErrorMessage="Not an even number!"
           ForeColor="green"
           Font-Names="verdana" 
           Font-Size="10pt"
           OnServerValidate="ServerValidation"
           runat="server"/>

      <br />
 
      <asp:Button id="Button1"
           Text="Validate" 
           OnClick="ValidateBtn_OnClick" 
           runat="server"/>

   </form>
  
</body>
</html>

Megjegyzések

Az ServerValidate esemény akkor jön elő, amikor az ellenőrzés a kiszolgálón történik.

Az esemény létrehozása meghívja az eseménykezelőt egy meghatalmazotton keresztül. További információ: Események kezelése és emelése.

A OnServerValidate metódus lehetővé teszi továbbá, hogy a származtatott osztályok meghatalmazott csatolása nélkül kezeljék az eseményt. Ez az előnyben részesített módszer az esemény származtatott osztályban való kezelésére.

Megjegyzések az öröklőkhöz

Származtatott osztályban történő felülbíráláskor OnServerValidate(String) mindenképpen hívja meg az alaposztály metódusát OnServerValidate(String) , hogy a regisztrált meghatalmazottak megkapják az eseményt.

A következőre érvényes:

Lásd még