CustomValidator.OnServerValidate メソッド
アセンブリ: System.Web.Mobile (system.web.mobile.dll 内)


Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


CustomValidator.OnServerValidate メソッド
アセンブリ: System.Web (system.web.dll 内)

Dim value As String Dim returnValue As Boolean returnValue = Me.OnServerValidate(value)
戻り値
value パラメータによって指定された値の検証が成功した場合は true。それ以外の場合は false。

ServerValidate イベントは、サーバーで検証が実行されると発生します。
イベントが発生すると、デリゲートを使用してイベント ハンドラが呼び出されます。詳細については、「イベントとデリゲート」を参照してください。
OnServerValidate メソッドを使用すると、デリゲートを結び付けずに、派生クラスでイベントを処理することもできます。派生クラスでイベントを処理する場合は、この手法をお勧めします。
継承時の注意 派生クラスで OnServerValidate をオーバーライドする場合は、登録されているデリゲートがイベントを受け取ることができるように、基本クラスの OnServerValidate メソッドを呼び出してください。
サーバー側の CustomValidator コントロールのハンドラを指定およびコード化する方法のコード例を次に示します。
<%@ Page Language="VB" AutoEventWireup="True" %> <html> <head> <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 runat="server"> <h3>CustomValidator ServerValidate Example</h3> <asp:Label id="Message" Text="Enter an even number:" Font-Name="Verdana" Font-Size="10pt" runat="server" /> <p> <asp:TextBox id="Text1" runat="server" /> <asp:CustomValidator id="CustomValidator1" ControlToValidate="Text1" Display="Static" ErrorMessage="Not an even number!" ForeColor="green" Font-Name="verdana" Font-Size="10pt" OnServerValidate="ServerValidation" runat="server"/> <p> <asp:Button id="Button1" Text="Validate" OnClick="ValidateBtn_OnClick" runat="server"/> </form> </body> </html>
<%@ Page Language="C#" AutoEventWireup="True" %> <html> <head> <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 runat="server"> <h3>CustomValidator ServerValidate Example</h3> <asp:Label id="Message" Text="Enter an even number:" Font-Name="Verdana" Font-Size="10pt" runat="server"/> <p> <asp:TextBox id="Text1" runat="server" /> <asp:CustomValidator id="CustomValidator1" ControlToValidate="Text1" Display="Static" ErrorMessage="Not an even number!" ForeColor="green" Font-Name="verdana" Font-Size="10pt" OnServerValidate="ServerValidation" runat="server"/> <p> <asp:Button id="Button1" Text="Validate" OnClick="ValidateBtn_OnClick" runat="server"/> </form> </body> </html>
<%@ Page Language="VB" AutoEventWireup="True" %> <html> <head> <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 Sub Page_Load(sende As object, e As EventArgs) ' Manually register the event-handling method for the ' ServerValidate event of the CustomValidator control. AddHandler CustomValidator1.ServerValidate, _ AddressOf ServerValidation End Sub </script> </head> <body> <form runat="server"> <h3>CustomValidator ServerValidate Example</h3> <asp:Label id="Message" Text="Enter an even number:" Font-Name="Verdana" Font-Size="10pt" runat="server" /> <p> <asp:TextBox id="Text1" runat="server" /> <asp:CustomValidator id="CustomValidator1" ControlToValidate="Text1" Display="Static" ErrorMessage="Not an even number!" ForeColor="green" Font-Name="verdana" Font-Size="10pt" runat="server"/> <p> <asp:Button id="Button1" Text="Validate" OnClick="ValidateBtn_OnClick" runat="server"/> </form> </body> </html>
<%@ Page Language="C#" AutoEventWireup="True" %> <html> <head> <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; } } void Page_Load(object sender, EventArgs e) { // Manually register the event-handling method for the // ServerValidate event of the CustomValidator control. CustomValidator1.ServerValidate += new ServerValidateEventHandler(this.ServerValidation); } </script> </head> <body> <form runat="server"> <h3>CustomValidator ServerValidate Example</h3> <asp:Label id="Message" Text="Enter an even number:" Font-Name="Verdana" Font-Size="10pt" runat="server"/> <p> <asp:TextBox id="Text1" runat="server" /> <asp:CustomValidator id="CustomValidator1" ControlToValidate="Text1" Display="Static" ErrorMessage="Not an even number!" ForeColor="green" Font-Name="verdana" Font-Size="10pt" runat="server"/> <p> <asp:Button id="Button1" Text="Validate" OnClick="ValidateBtn_OnClick" runat="server"/> </form> </body> </html>

Windows 98, Windows 2000 SP4, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


- CustomValidator.OnServerValidateのページへのリンク