HtmlButton.CausesValidation Property
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.
Gets or sets a value indicating whether validation is performed when the HtmlButton control is clicked.
public:
property bool CausesValidation { bool get(); void set(bool value); };
public:
virtual property bool CausesValidation { bool get(); void set(bool value); };
public bool CausesValidation { get; set; }
public virtual bool CausesValidation { get; set; }
member this.CausesValidation : bool with get, set
Public Property CausesValidation As Boolean
Public Overridable Property CausesValidation As Boolean
Property Value
true
if validation is performed when the HtmlButton control is clicked; otherwise, false
. The default value is true
.
Examples
The following code example demonstrates how to use the CausesValidation property to prevent page validation from occurring. Note that the Validate method activates each validation control independently.
<%@ 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> HtmlButton CausesValidation Example </title>
<script runat="server">
void SubmitButton_Click(Object sender, EventArgs e)
{
// Determine which button was clicked.
switch(((HtmlButton)sender).ID)
{
case "CityQueryButton":
// Validate only the controls used for the city query.
CityReqValidator.Validate();
// Take the appropriate action if the controls pass validation.
if (CityReqValidator.IsValid)
{
Message.InnerHtml = "You have chosen to run a query for the following city: " +
CityTextBox.Value;
}
break;
case "StateQueryButton":
// Validate only the controls used for the state query.
StateReqValidator.Validate();
// Take the appropriate action if the controls pass validation.
if (StateReqValidator.IsValid)
{
Message.InnerHtml = "You have chosen to run a query for the following state: " +
StateTextBox.Value;
}
break;
default:
// If the button clicked is not recognized, erase the message on the page.
Message.InnerHtml = "";
break;
}
}
</script>
</head>
<body>
<form id="form1" runat="server">
<h3> HtmlButton CausesValidation Example </h3>
<table border="1" cellpadding="10">
<tr>
<td>
<b>Enter city to query.</b> <br />
<input id="CityTextBox"
type="Text"
runat="server"/>
<asp:RequiredFieldValidator ID="CityReqValidator"
ControlToValidate="CityTextBox"
ErrorMessage="<br />Please enter a city."
Display="Dynamic"
EnableClientScript="False"
runat="server"/>
</td>
<td valign="bottom">
<button id="CityQueryButton"
causesvalidation="False"
onserverclick="SubmitButton_Click"
runat="server">
Submit
</button>
</td>
</tr>
<tr>
<td>
<b>Enter state to query.</b> <br />
<input id="StateTextBox"
type="Text"
runat="server"/>
<asp:RequiredFieldValidator ID="StateReqValidator"
ControlToValidate="StateTextBox"
ErrorMessage="<br />Please enter a state."
Display="Dynamic"
EnableClientScript="False"
runat="server"/>
</td>
<td valign="bottom">
<button id="StateQueryButton"
causesvalidation="False"
onserverclick="SubmitButton_Click"
runat="server">
Submit
</button>
</td>
</tr>
</table>
<br /><br />
<span id="Message"
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> HtmlButton CausesValidation Example </title>
<script runat="server">
Sub SubmitButton_Click(sender As Object, e As EventArgs)
' Determine which button was clicked.
Select Case (CType(sender, HtmlButton)).ID
Case "CityQueryButton"
' Validate only the controls used for the city query.
CityReqValidator.Validate()
' Take the appropriate action if the controls pass validation.
If CityReqValidator.IsValid Then
Message.InnerHtml = "You have chosen to run a query for the following city: " & _
CityTextBox.Value
End If
Case "StateQueryButton"
' Validate only the controls used for the state query.
StateReqValidator.Validate()
' Take the appropriate action if the controls pass validation.
If StateReqValidator.IsValid Then
Message.InnerHtml = "You have chosen to run a query for the following state: " & _
StateTextBox.Value
End If
Case Else
' If the button clicked is not recognized, erase the message on the page.
Message.InnerHtml = ""
End Select
End Sub
</script>
</head>
<body>
<form id="form1" runat="server">
<h3> HtmlButton CausesValidation Example </h3>
<table border="1" cellpadding="10">
<tr>
<td>
<b>Enter city to query.</b> <br />
<input id="CityTextBox"
type="Text"
runat="server"/>
<asp:RequiredFieldValidator ID="CityReqValidator"
ControlToValidate="CityTextBox"
ErrorMessage="<br />Please enter a city."
Display="Dynamic"
EnableClientScript="False"
runat="server"/>
</td>
<td valign="bottom">
<button id="CityQueryButton"
causesvalidation="False"
onserverclick="SubmitButton_Click"
runat="server">
Submit
</button>
</td>
</tr>
<tr>
<td>
<b>Enter state to query.</b> <br />
<input id="StateTextBox"
type="Text"
runat="server"/>
<asp:RequiredFieldValidator ID="StateReqValidator"
ControlToValidate="StateTextBox"
ErrorMessage="<br />Please enter a state."
Display="Dynamic"
EnableClientScript="False"
runat="server"/>
</td>
<td valign="bottom">
<button id="StateQueryButton"
causesvalidation="False"
onserverclick="SubmitButton_Click"
runat="server">
Submit
</button>
</td>
</tr>
</table>
<br /><br />
<span id="Message"
runat="Server"/>
</form>
</body>
</html>
Remarks
By default, page validation is performed when an HtmlButton control is clicked. Page validation determines whether the input controls associated with a validation control on the page all pass the validation rules specified by the validation control.
You can specify or determine whether validation is performed on both the client and the server when an HtmlButton control is clicked by using the CausesValidation property. To prevent validation from being performed, set the CausesValidation property to false
.
This property is commonly used in the event handler for the ServerClick event to prevent page validation from occurring when a Cancel or Reset button is clicked.