De forma predeterminada, los controles de validación de ASP.NET realizan automáticamente la validación cuando la página se publica en el servidor, después de que se inicializa la página (es decir, después de que se hayan procesado el estado de la vista y los datos de devolución) y antes de que se llame al código de control de eventos. Si el navegador admite secuencias de comandos del lado del cliente, el control también puede realizar la validación en el navegador.
Sin embargo, a veces es posible que necesite realizar la validación mediante programación. Es posible que deba verificar mediante programación en las siguientes situaciones:
·Si el valor de validación no se ha configurado en tiempo de ejecución. Por ejemplo, si está utilizando un control RangeValidator, es posible que desee establecer sus propiedades Valor Mínimo y Valor Máximo en tiempo de ejecución según el valor ingresado por el usuario. La validación predeterminada no funciona en este momento porque no hay suficiente información en el control RangeValidator cuando la página llama al control de validación para realizar la validación.
·Necesidad de determinar la validez del control (o de la página completa) en el controlador de eventos Page_Load. Durante la fase de procesamiento de la página, aún no se ha llamado al control de validación, por lo que no se ha establecido la propiedad IsValid de la página o los controles individuales. (Si intenta obtener el valor de esta propiedad, se generará una excepción). Pero si desea determinar la validez, puede llamar a la validación mediante programación.
·Estás editando un control (ya sea un control de entrada o un control de validación) en tiempo de ejecución.
Más comúnmente, puede verificar mediante programación en cualquier momento que desee, lo que le brinda un control más preciso sobre cuándo se realiza la verificación.
Llame al método Validate del control de validación.
El control realiza comprobaciones y establece la propiedad IsValid del control y la página. Si se detecta un error, el mensaje de error se mostrará como de costumbre cuando la página se devuelva al usuario.
El siguiente ejemplo de código demuestra cómo establecer propiedades mediante programación. En este caso, una página web ASP.NET reserva una habitación en un resort, proporcionando viajes gratuitos hacia y desde cada visita. Los usuarios deben ingresar las fechas de llegada y salida y luego planificar su agenda durante la visita. El control RangeValidator se utiliza para garantizar que el usuario ingrese un formato de fecha típico y que la fecha de viaje debe estar entre las fechas de llegada y salida.
Descripción: El control del validador genera una excepción si el valor ingresado por el usuario no se puede convertir en una fecha. Para mayor claridad, este ejemplo no incluye el manejo de errores.
Las fechas de llegada y salida provienen de dos controles del servidor web TextBox en la página, txtArrival y txtDeparture. La fecha del viaje se ingresa en el tercer control TextBox, txtTourDate, que es validado por el control RangeValidator.
Nota: Al validar mediante programación, las secuencias de comandos del lado del cliente deben desactivarse para que el control no muestre mensajes de error incorrectos antes de que se ejecute el código de validación del lado del servidor.
Botón vacío privado1_Click (remitente del objeto, System.EventArgs e)
{
RangeValidator1.MinimumValue = txtArrival.Text;
RangeValidator1.MaximumValue = txtSalida.Texto;
RangeValidator1.Type = ValidationDataType.Fecha;
RangeValidator1.Validate();
si (!RangeValidator1.IsValid)
{
RangeValidator1.ErrorMessage = "La fecha del recorrido debe " +
"caer entre las fechas de llegada y salida.";
}
}
Este artículo proviene del blog de CSDN. Indique la fuente al reimprimir:
http://blog.csdn.net/dodream/archive/2009/12/17/5024666.aspx