Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Actualización: noviembre 2007
Puede validar entradas del usuario con respecto a una base de datos para asegurarse de que el usuario ha especificado un valor reconocido. Para ello, debe escribir el código en un control CustomValidator que busque las coincidencias entre los datos de una base de datos.
Para validar con una base de datos
Agregue un control CustomValidator a la página y establezca las propiedades siguientes:
Propiedad
Descripción
Id. del control que está validando.
Propiedades que especifican el texto y la ubicación del error o errores que se mostrarán si no se supera la validación. Para obtener información detallada, vea Cómo: Controlar la presentación de los mensajes de error de validación para los controles de servidor ASP.NET.
Cree un controlador de eventos para el evento ServerValidate del control CustomValidator. En el controlador de eventos, agregue código para realizar un recorrido por la base de datos y comprobar la entrada del usuario en el conjunto de datos.
Nota:Si el usuario deja un control en blanco, el control pasa la validación de comparación. Para hacer que el usuario escriba un valor, agregue también un control RequiredFieldValidator. Para obtener información detallada, vea Cómo: Validar entradas requeridas para controles de servidor ASP.NET.
Agregue una prueba al código de la página Web ASP:NET para comprobar su validez. Para obtener información detallada, vea Cómo: Comprobar la validez de los controles de servidor ASP.NET mediante programación.
En el ejemplo de código siguiente se muestra cómo se pueden validar las entradas del usuario consultándolas en una tabla de base de datos. En este caso, el usuario ha escrito una dirección de correo electrónico que se valida con las direcciones de correo electrónico almacenadas en una tabla. La lógica de validación personalizada recorre las filas de una tabla que forma parte del conjunto de datos disponible para la página.
Private Sub CustomValidator1_ServerValidate(ByVal _ source As System.Object, ByVal args As _ System.Web.UI.WebControls.ServerValidateEventArgs) _ Handles CustomValidator1.ServerValidate Dim dv As DataView Dim dataset11 As New Data.DataSet dv = dataset11.Tables(0).DefaultView Dim datarow As DataRowView Dim txtEmail As String args.IsValid = False ' Assume False ' Loop through table and compare each record against user's entry For Each datarow In dv ' Extract e-mail address from the current row txtEmail = datarow.Item("Alias").ToString() ' Compare e-mail address against user's entry If txtEmail = args.Value Then args.IsValid = True Exit For End If Next End Subprivate void CustomValidator1_ServerValidate(object source, System.Web.UI.WebControls.ServerValidateEventArgs args) { DataView dv; DataSet dataSet11 = new DataSet(); dv = dataSet11.Tables[0].DefaultView; string txtEmail; args.IsValid = false; // Assume False // Loop through table and compare each record against user's entry foreach (DataRowView datarow in dv) { // Extract e-mail address from the current row txtEmail = datarow["Alias "].ToString(); // Compare e-mail address against user's entry if (txtEmail == args.Value) { args.IsValid = true; } } }
Vea también
Conceptos
Tipos de validación para controles de servidor ASP.NET