次の方法で共有


CompareValidator.ControlPropertiesValid メソッド

定義

コントロールのプロパティで値が有効かどうかを確認します。

protected:
 override bool ControlPropertiesValid();
protected override bool ControlPropertiesValid ();
override this.ControlPropertiesValid : unit -> bool
Protected Overrides Function ControlPropertiesValid () As Boolean

戻り値

コントロールのプロパティが有効な場合は true、それ以外の場合は false

例外

ControlToValidateControlToCompareID が同じです。

- または -

ターゲット プロパティの値を希望の Type に変換することはできません。

次のコード例では、コントロールの ControlPropertiesValid プロパティがページ上にあり、検証プロパティが含まれている限 ControlToCompare り、常に可視プロパティの値を返すように、カスタム サーバー コントロールの CompareValidator メソッドをオーバーライドする方法を示します。

重要

この例には、ユーザー入力を受け付けるテキスト ボックスがあります。これにより、セキュリティが脆弱になる可能性があります。 既定では、ASP.NET Web ページによって、ユーザー入力にスクリプトまたは HTML 要素が含まれていないかどうかが検証されます。 詳細については、「スクリプトによる攻略の概要」を参照してください。

<%@ Register TagPrefix="aspSample" Namespace="Samples.AspNet.CS.Controls" Assembly="Samples.AspNet.CS" %>
<%@ 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>
    <title>Custom CompareValidator - ControlPropertiesValid - C# Example</title>
    <script runat="server">
      void Page_Load(Object sender, EventArgs e)
      {
        // Run the Page Validate method in order to force
        // the CompareValidate to show it's error message.
        Page.Validate();
      }
    </script>
  </head>
  <body>
    <form id="Form1" method="post" runat="server">
      <h3>Custom CompareValidator - ControlPropertiesValid - C# Example</h3>

      <asp:TextBox id="TextBox1" runat="server">123</asp:TextBox><br />

      <aspSample:CustomCompareValidatorControlPropertiesValid
        id="CompareValidator1"
        runat="server"
        Display="Dynamic"
        ErrorMessage="The value of TextBox1 must be '456'."
        ControlToValidate="TextBox1"
        ValueToCompare="456" /><br />

      <asp:Button id="Button1" runat="server" Text="Button" />

    </form>
  </body>
</html>
<%@ Register TagPrefix="aspSample" Namespace="Samples.AspNet.VB.Controls" Assembly="Samples.AspNet.VB" %>
<%@ Page language="VB" %>
<!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>Custom CompareValidator - ControlPropertiesValid - VB.NET Example</title>
  </head>
  <body>
    <form id="Form1" method="post" runat="server">
      <h3>Custom CompareValidator - ControlPropertiesValid - C# Example</h3>
            <asp:TextBox id="TextBox1" runat="server">123</asp:TextBox><br />
            <aspSample:CustomCompareValidatorControlPropertiesValid
             id="CompareValidator1" runat="server" Display="Dynamic"
             ErrorMessage="The value of TextBox1 must be '456'."
             ControlToValidate="TextBox1" ValueToCompare="456" /><br />
             <asp:Button id="Button1" runat="server" Text="Button" />
    </form>
  </body>
</html>
using System.Web;
using System.Security.Permissions;

namespace Samples.AspNet.CS.Controls
{
    [AspNetHostingPermission(SecurityAction.Demand, Level = AspNetHostingPermissionLevel.Minimal)]
    public sealed class CustomCompareValidatorControlPropertiesValid : System.Web.UI.WebControls.CompareValidator
    {
        protected override bool ControlPropertiesValid()
        {
            // Determine whether the ControlToValidate is on the page and contains a validation properties. 
            base.CheckControlValidationProperty(this.ControlToValidate, "ControlToValidate");

            // If the control is visible, then control is valid and is ready for validation.
            System.Web.UI.Control control = this.FindControl(this.ControlToValidate);
            return control.Visible;
        }
    }
}
Imports System.Web
Imports System.Security.Permissions

Namespace Samples.AspNet.VB.Controls
    <AspNetHostingPermission(SecurityAction.Demand, Level:=AspNetHostingPermissionLevel.Minimal)> _
    Public NotInheritable Class CustomCompareValidatorControlPropertiesValid
        Inherits System.Web.UI.WebControls.CompareValidator

        Protected Overrides Function ControlPropertiesValid() As Boolean

            ' Determine whether the ControlToValidate is on the page and contains a validation properties. 
            MyBase.CheckControlValidationProperty(Me.ControlToValidate, "ControlToValidate")

            ' If the control is visible, then control is valid and ready for validation.
            Dim control As System.Web.UI.Control = Me.FindControl(Me.ControlToValidate)
            If control.Visible = True Then
                Return True
            Else
                Return False
            End If
        End Function
    End Class
End Namespace

適用対象