CompareValidator.ControlPropertiesValid Method
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Checks the properties of the control for valid values.
protected:
override bool ControlPropertiesValid();
protected override bool ControlPropertiesValid ();
override this.ControlPropertiesValid : unit -> bool
Protected Overrides Function ControlPropertiesValid () As Boolean
Returns
true
if the control properties are valid; otherwise, false
.
Exceptions
ControlToValidate and ControlToCompare have the same ID.
-or-
The value of a target property cannot be converted to the expected Type.
Examples
The following code example demonstrates how to override the ControlPropertiesValid method in a custom server control so that it always returns the value of the visible property, as long as the ControlToCompare property of the CompareValidator control is on the page and contains validation properties.
Important
This example has a text box that accepts user input, which is a potential security threat. By default, ASP.NET Web pages validate that user input does not include script or HTML elements. For more information, see Script Exploits Overview.
<%@ 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