HtmlButton.CausesValidation Propriedade
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Obtém ou define um valor que indica se a validação é executada quando o controle HtmlButton é acionado.
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
Valor da propriedade
true
se a validação for executada quando o controle HtmlButton é acionado; caso contrário, false
. O valor padrão é true
.
Exemplos
O exemplo de código a seguir demonstra como usar a CausesValidation propriedade para impedir que a validação de página ocorra. Observe que o Validate método ativa cada controle de validação de forma independente.
<%@ 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>
Comentários
Por padrão, a validação de página é executada quando um HtmlButton controle é clicado. A validação de página determina se os controles de entrada associados a um controle de validação na página passam todas as regras de validação especificadas pelo controle de validação.
Você pode especificar ou determinar se a validação é executada no cliente e no servidor quando um HtmlButton controle é clicado usando a CausesValidation propriedade . Para impedir que a validação seja executada, defina a CausesValidation propriedade como false
.
Essa propriedade é comumente usada no manipulador de eventos do evento para impedir que a ServerClick validação de página ocorra quando um botão Cancelar ou Redefinir é clicado.