Button.CausesValidation Propriété
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Obtient ou définit une valeur indiquant si une validation est effectuée suite à un clic sur le contrôle Button.
public:
property bool CausesValidation { bool get(); void set(bool value); };
public:
virtual property bool CausesValidation { bool get(); void set(bool value); };
[System.ComponentModel.Bindable(false)]
public bool CausesValidation { get; set; }
[System.Web.UI.Themeable(false)]
public virtual bool CausesValidation { get; set; }
[<System.ComponentModel.Bindable(false)>]
member this.CausesValidation : bool with get, set
[<System.Web.UI.Themeable(false)>]
member this.CausesValidation : bool with get, set
Public Property CausesValidation As Boolean
Public Overridable Property CausesValidation As Boolean
Valeur de propriété
true
si une validation est effectuée suite à un clic sur le contrôle Button ; sinon, false
. La valeur par défaut est true
.
Implémente
- Attributs
Exemples
L’exemple de code suivant montre comment utiliser la propriété pour empêcher la CausesValidation validation de page. Notez que la Validate méthode active chaque contrôle de validation indépendamment.
Important
Cet exemple comprend une zone de texte qui accepte une entrée d'utilisateur, ce qui constitue une menace potentielle pour la sécurité. Par défaut, les pages web ASP.NET vérifient que l’entrée d’utilisateur n’inclut pas de script ou d’éléments HTML. Pour plus d’informations, consultez Vue d’ensemble des attaques de script.
<%@ 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 runat="server">
<title> Button CausesValidation Example </title>
<script runat="server">
void SubmitButton_Click(Object sender, EventArgs e)
{
// Determine which button was clicked.
switch(((Button)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.Text = "You have chosen to run a query for the following city: " +
CityTextBox.Text;
}
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.Text = "You have chosen to run a query for the following state: " +
StateTextBox.Text;
}
break;
default:
// If the button clicked isn't recognized, erase the message on the page.
Message.Text = "";
break;
}
}
</script>
</head>
<body>
<form id="form1" runat="server">
<h3> Button CausesValidation Example </h3>
<table border="1" cellpadding="10">
<tr>
<td>
<b>Enter city to query.</b> <br />
<asp:TextBox ID="CityTextBox"
runat="server"/>
<asp:RequiredFieldValidator ID="CityReqValidator"
ControlToValidate="CityTextBox"
ErrorMessage="<br />Please enter a city."
Display="Dynamic"
EnableClientScript="False"
runat="server"/>
</td>
<td valign="bottom">
<asp:Button ID="CityQueryButton"
Text="Submit"
CausesValidation="False"
OnClick="SubmitButton_Click"
runat="server"/>
</td>
</tr>
<tr>
<td>
<b>Enter state to query.</b> <br />
<asp:TextBox ID="StateTextBox"
runat="server"/>
<asp:RequiredFieldValidator ID="StateReqValidator"
ControlToValidate="StateTextBox"
ErrorMessage="<br />Please enter a state."
Display="Dynamic"
EnableClientScript="False"
runat="server"/>
</td>
<td valign="bottom">
<asp:Button ID="StateQueryButton"
Text="Submit"
CausesValidation="False"
OnClick="SubmitButton_Click"
runat="server"/>
</td>
</tr>
</table>
<br /><br />
<asp:Label 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 runat="server">
<title> Button CausesValidation Example </title>
<script runat="server">
Sub SubmitButton_Click(sender As Object, e As EventArgs)
' Determine which button was clicked.
Select Case (CType(sender, Button)).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.Text = "You have chosen to run a query for the following city: " & _
CityTextBox.Text
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.Text = "You have chosen to run a query for the following state: " & _
StateTextBox.Text
End If
Case Else
' If the button clicked isn't recognized, erase the message on the page.
Message.Text = ""
End Select
End Sub
</script>
</head>
<body>
<form id="form1" runat="server">
<h3> Button CausesValidation Example </h3>
<table border="1" cellpadding="10">
<tr>
<td>
<b>Enter city to query.</b> <br />
<asp:TextBox ID="CityTextBox"
runat="server"/>
<asp:RequiredFieldValidator ID="CityReqValidator"
ControlToValidate="CityTextBox"
ErrorMessage="<br />Please enter a city."
Display="Dynamic"
EnableClientScript="False"
runat="server"/>
</td>
<td valign="bottom">
<asp:Button ID="CityQueryButton"
Text="Submit"
CausesValidation="False"
OnClick="SubmitButton_Click"
runat="server"/>
</td>
</tr>
<tr>
<td>
<b>Enter state to query.</b> <br />
<asp:TextBox ID="StateTextBox"
runat="server"/>
<asp:RequiredFieldValidator ID="StateReqValidator"
ControlToValidate="StateTextBox"
ErrorMessage="<br />Please enter a state."
Display="Dynamic"
EnableClientScript="False"
runat="server"/>
</td>
<td valign="bottom">
<asp:Button ID="StateQueryButton"
Text="Submit"
CausesValidation="False"
OnClick="SubmitButton_Click"
runat="server"/>
</td>
</tr>
</table>
<br /><br />
<asp:Label ID="Message"
runat="Server"/>
</form>
</body>
</html>
Remarques
Par défaut, la validation de page est effectuée lorsque l’utilisateur clique sur un Button contrôle. La validation de page détermine si les contrôles d’entrée associés à un contrôle de validation sur la page réussissent tous les règles de validation spécifiées par le contrôle de validation.
Vous pouvez spécifier ou déterminer si la validation est effectuée sur le client et sur le serveur lorsque l’utilisateur clique sur un Button contrôle à l’aide de la CausesValidation propriété . Pour empêcher la validation, définissez la propriété sur CausesValidationfalse
.
Notes
Vous devez définir la propriété false
sur CausesValidation lorsque vous utilisez la PostBackUrl propriété pour publier sur une autre page. Vous devez vérifier explicitement la validation lors de la publication dans une autre page. Pour obtenir un exemple, consultez la section Notes de la PostBackUrl propriété .
Cette propriété est généralement définie sur false
pour un reset
bouton ou afin clear
d’empêcher la validation lorsque l’utilisateur clique sur le bouton.
Lorsque la valeur de la CausesValidation propriété est définie sur true
, vous pouvez également utiliser la ValidationGroup propriété pour spécifier le nom du groupe de validation pour lequel le contrôle provoque la Button validation.
Cette propriété ne peut pas être définie par les thèmes ou les thèmes de feuille de style. Pour plus d’informations, consultez ThemeableAttribute et ASP.NET Thèmes et apparences.