Los controles de validación prueban la entrada del usuario, establecen estados de error y generan mensajes de error. No cambian el flujo de procesamiento de la página; por ejemplo, no omiten el código cuando se detecta un error de entrada del usuario. En su lugar, probará el estado del control en el código antes de ejecutar la lógica específica de su aplicación. Si se detecta un error, su propio código no se ejecutará; la página continuará procesándose y se devolverá al usuario con un mensaje de error.
Nota de seguridad: De forma predeterminada, las páginas web ASP.NET verifican automáticamente si un usuario malintencionado intenta enviar scripts o elementos HTML a su aplicación.
Puede probar el estado general de toda la página y puede probar el estado de los controles individuales. Normalmente, esto se hace en el controlador de eventos que crea para la página.
1. Pruebe el estado de error común
En su código, pruebe la propiedad IsValid de la página. Esta propiedad acumulará el valor de la propiedad IsValid de todos los controles de validación en la página (usando AND lógico). Si algún control de validación se establece como no válido, la propiedad de la página devolverá falso.
Descripción: La información de autenticación no está disponible durante la fase de inicialización o carga de la página. Sin embargo, puede llamar manualmente al método Validate durante Page_Load y luego probar la propiedad IsValid de la página.
El siguiente ejemplo de código muestra un controlador de eventos para un botón. Este código prueba la propiedad IsValid de la página. Tenga en cuenta que aquí no se necesitan otras cláusulas porque la página volverá automáticamente al navegador y el control de validación mostrará su propio mensaje de error.
void Button1_Click (remitente del objeto, System.EventArgs e)
{
si (es válido)
{
// Realice actualizaciones de la base de datos u otra lógica aquí.
}
}
2. Pruebe el estado de error de los controles individuales.
Analice la colección Validators de la página, que contiene referencias a todos los controles de validación. Luego puede verificar la propiedad IsValid de cada control de validación.
Nota: Si desea realizar esta verificación durante Page_Load, primero debe llamar al método Validate manualmente.
El siguiente ejemplo de código demuestra cómo obtener el estado de un control de validación único.
si (this.IsPostBack)
{
this.Validate();
si (!this.IsValid)
{
mensaje de cadena = "";
// Recorre todos los controles de validación para ver cuál
// generó los errores.
foreach (IValidator aValidator en this.Validators)
{
si (!aValidator.IsValid)
{
msg += "<br />" + aValidator.ErrorMessage;
}
}
Etiqueta1.Texto = mensaje;
}
}
Este artículo proviene del blog de CSDN. Indique la fuente al reimprimir: http://blog.csdn.net/dodream/archive/2009/12/17/5024643.aspx.
-