CustomValidator.ServerValidate Evento
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Se produce cuando CustomValidator valida el valor de la propiedad ControlToValidate. Esta API está obsoleta. Para obtener información sobre cómo desarrollar aplicaciones móviles ASP.NET, consulte Mobile Apps & Sites with ASP.NET.
public:
event System::Web::UI::WebControls::ServerValidateEventHandler ^ ServerValidate;
[System.ComponentModel.Bindable(false)]
public event System.Web.UI.WebControls.ServerValidateEventHandler ServerValidate;
[<System.ComponentModel.Bindable(false)>]
member this.ServerValidate : System.Web.UI.WebControls.ServerValidateEventHandler
Public Custom Event ServerValidate As ServerValidateEventHandler
Tipo de evento
- Atributos
Ejemplos
En el ejemplo siguiente se muestra cómo interceptar el ServerValidate evento para agregar lógica para validar la página.
<%@ Page Language="C#"
Inherits="System.Web.UI.MobileControls.MobilePage" %>
<%@ Register TagPrefix="mobile"
Namespace="System.Web.UI.MobileControls"
Assembly="System.Web.Mobile" %>
<script runat="server">
// If the page validates, go to page 2
protected void Submit_Click(Object sender, EventArgs e)
{
if (Page.IsValid)
{
ActiveForm = Form2;
}
}
// Validate whether the number is even
private void ServerValidate(object source,
ServerValidateEventArgs args)
{
// Convert the text to a number
int num;
Int32.TryParse(numberBox.Text, out num);
// Test for an even number
if (num > 0)
args.IsValid = ((num % 2) == 0);
else
args.IsValid = false;
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<body>
<mobile:form id="Form1" runat="server">
<mobile:Label ID="Label1" runat="server">
Please enter an even number greater than zero.
</mobile:Label>
<mobile:TextBox ID="numberBox" Runat="server"
Numeric="true" MaxLength="2" />
<mobile:CustomValidator ID="CustomValidator1"
ControlToValidate="numberBox"
OnServerValidate="ServerValidate" runat="server">
Your number is not an even number.
</mobile:CustomValidator>
<mobile:Command ID="Command1" runat="server"
OnClick="Submit_Click">
Submit
</mobile:Command>
</mobile:form>
<mobile:Form id="Form2" runat="server">
<mobile:Label ID="Label2" runat="server">
Your number is an even number.
</mobile:Label>
</mobile:Form>
</body>
</html>
<%@ Page Language="VB"
Inherits="System.Web.UI.MobileControls.MobilePage" %>
<%@ Register TagPrefix="mobile"
Namespace="System.Web.UI.MobileControls"
Assembly="System.Web.Mobile" %>
<script runat="server">
' If the page validates, go to page 2
Protected Sub Submit_Click(ByVal sender As Object, ByVal e As EventArgs)
If (Page.IsValid) Then
ActiveForm = Form2
End If
End Sub
' Validate whether the number is even
Private Sub ServerValidate(ByVal source As Object, _
ByVal args As ServerValidateEventArgs)
' Convert the text to a number
Dim num As Integer
Integer.TryParse(numberBox.Text, num)
' Test for an even number
If (num > 0) Then
args.IsValid = ((num Mod 2) = 0)
Else
args.IsValid = False
End If
End Sub
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<body>
<mobile:form id="Form1" runat="server">
<mobile:Label ID="Label1" runat="server">
Please enter an even number greater than zero.
</mobile:Label>
<mobile:TextBox ID="numberBox" Runat="server"
Numeric="true" MaxLength="2" />
<mobile:CustomValidator ID="CustomValidator1"
ControlToValidate="numberBox"
OnServerValidate="ServerValidate" runat="server">
Your number is not an even number.
</mobile:CustomValidator>
<mobile:Command ID="Command1" runat="server"
OnClick="Submit_Click">
Submit
</mobile:Command>
</mobile:form>
<mobile:Form id="Form2" runat="server">
<mobile:Label ID="Label2" runat="server">
Your number is an even number.
</mobile:Label>
</mobile:Form>
</body>
</html>
Comentarios
Si se registra un método con este evento, se llama a con el valor de la ControlToValidate propiedad . La validación solo se realiza correctamente si este controlador de eventos devuelve true
.