La Red de Conocimientos Pedagógicos - Currículum vitae - ASP. ¿Cómo realizar la validación de datos en NET?

ASP. ¿Cómo realizar la validación de datos en NET?

Al realizar la validación de datos de formulario en ASP, los desarrolladores generalmente tienen que escribir ellos mismos un conjunto de reglas de validación y luego copiar estos códigos en el código ASP para validar el formulario. Este método de verificación es realmente inconveniente. Afortunadamente, ASP.NET resuelve este problema. Este es el control web de verificación de datos.

El control de validación de datos es un control en ASP.NET que se utiliza específicamente para validar la entrada del usuario. Por ejemplo, RequiredFieldValidation es un control que se utiliza específicamente para verificar si el usuario ha ingresado. Con este control, puede asegurarse de que el usuario haya ingresado un determinado elemento del formulario (como un cuadro de entrada de datos). Además, ASP.NET también proporciona los siguientes controles de validación de datos:

1. RequiredFieldValidator: verifica si el usuario ha ingresado

2. elementos de entrada Si existe una determinada relación especificada, como mayor, igual, etc.;

3. RangeValidator: comprueba si la entrada del usuario está dentro de un rango específico;

4. RegularExpressionValidator: comprueba si la entrada del usuario cumple con un requisito de expresión regular especificado;

5. CustomValidator: comprueba si la entrada del usuario cumple con las reglas lógicas de validación especificadas por el desarrollador.

El propósito de este artículo no es discutir el uso de todos los controles anteriores. Si desea conocer otros controles, puede consultar:

/quickstart /aspplus/. doc/webvalidation.aspx.

Descripción general del control CustomValidator

El simple uso de los primeros cuatro controles de validación de datos mencionados anteriormente puede cumplir con los requisitos de validación de la mayoría de los formularios de datos que generalmente desarrollamos. Sin embargo, a veces necesitamos validar algunos formularios más complejos. Imaginemos que tenemos un cuestionario relativamente complejo. El cuestionario contiene un formulario con muchos botones de opción y botones de opción múltiple. Algunos de los botones de opción múltiple corresponden a pasatiempos personales, como natación, deportes, lectura, etc. El cuestionario El encuestado. Se espera que elija todos sus pasatiempos. Debajo de estas opciones, indique el siguiente texto: "Si se le solicita que tenga dos pasatiempos, deportes y natación, elija cuándo comenzará a aprender a nadar". Debajo de estos textos, coloque algunos botones de opción que identifiquen si estos botones son. válido depende de Debido a la selección del botón de selección múltiple que mencionamos anteriormente. En la situación de verificación anterior, utilizaremos el control de validación de datos CustomValidator.

En todos los controles de validación de datos de ASP.NET, hay una propiedad de control "ControlToValidate" que debe establecerse. Esta propiedad se utiliza para especificar los elementos del formulario que deben verificarse. En el control de validación de datos de CustomValidator, debe hacer lo siguiente:

1. Lea el valor del elemento del formulario que CustomValidator debe verificar;

2. Realizar operaciones de verificación;

3. Determine si el elemento de formulario validado cumple con los requisitos de validación.

En otros controles integrados, los usuarios no conocen e ignoran los pasos anteriores. Sin embargo, cuando utilizamos CustomValidator, debemos implementar los pasos anteriores nosotros mismos. Para implementar los pasos anteriores, necesitamos escribir una función de validación de datos del lado del servidor cuyo estilo sea el siguiente:

Sub FunctionName(remitente como objeto, argumentos como ServerValidateEventArgs)

……

p>

End Sub

Preste atención al parámetro args de la función anterior, que es el segundo parámetro de la función FunctionName. Este parámetro tiene los dos atributos siguientes:

1. Valor: El valor del formulario de datos validado.

2. IsValid: si se aprobó la verificación.

Si se aprueba, el valor de IsValid es Verdadero; si no se aprueba, su valor es Falso.

Cuando usamos CustomValidator, no solo tenemos que configurar el atributo "ControlToValidate", también debemos configurar el evento OnServerValidate para manejar la acción de validación de datos del lado del servidor.

Crear un

control CustomValidator simple

Supongamos que ahora creamos un sitio web relacionado con las matemáticas. En este sitio web, pedimos a los visitantes que proporcionen sus números primos favoritos. , para aumentar el tráfico a nuestro sitio web. En ASP.NET, no existe un control de validación de datos del lado del servidor listo para usar que pueda verificar específicamente los números primos. En este caso, debemos usar el control CustomValidator.

El siguiente ejemplo se utiliza para verificar si el número ingresado por el usuario es un número primo. En este formulario, hay un control TextBox y un control Button para los datos ingresados ​​por el usuario, un control CustomValidator para verificar si es un número primo y dos controles CompareValidator para garantizar que la entrada del usuario sea un número positivo.

< script language="vb" runat="server"

Sub btnSubmit_Click(remitente como objeto, e como EventArgs)

Si Page.IsValid entonces

Response.Write(“< font color="“red”">

< i>”& txtPrimeNumber.Text & “es, de hecho, un buen número primo.

p>

< /font>”)

Else

Response.Write(“< font color="“rojo”">

< i>” & txtPrimeNumber.Text & “no es < b>no

un número primo.< /font>”)

Finalizar si

Finalizar Sub

Sub PrimeNumberCheck(remitente como objeto, argumentos como

ServerValidateEventArgs)

Atenuar iPrime como Entero = Cint(args .Value),

iLoop como entero, iSqrt como entero = CInt(Math.Sqrt(iPrime))

Para iLoop = 2 a iSqrt

Si iPrime mod iLoop = 0 entonces

args.IsValid = False

Salir de Sub

Finalizar si

Siguiente

args.IsValid = True

Fin Sub

< /script>

< form método="post" runat="servidor">

Ingrese su número primo favorito:

< asp:textbox id="txtPrimeNumber" runat="server" />

< %-- Cree un CustomValidator control--%>

< asp:CustomValidator runat="servidor"

id="custPrimeCheck"

ControlToValidate="txtPrimeNumber"

OnServerValidate="PrimeNumberCheck ”

ErrorMessage="Número primo no válido" />

< %-- Cree dos controles CompareValidator: el primero garantiza que la entrada sea un número;

El segundo Dos garantiza que la entrada es un número positivo--%>

< asp:CompareValidator runat="servidor"

id="compPrimeNumber" Operador="DataTypeCheck"

Tipo="Entero"

Display="Dinámico" ControlToValidate=

“txtPrimeNumber” ErrorMessage =

“Debe ingresar un valor entero.”/>

< asp:CompareValidator runat=“servidor”

id="compPrimeNumberPositive" Operador="MayorThan"

Tipo="Entero"

Display="Dinámico" ValueToCompare="0"

ControlToValidate="txtPrimeNumber"

ErrorMessage = "Debes ingresar un valor

mayor que cero."/>

< asp:id del botón = "btnSubmit" runat=

"server"OnClick="btnSubmit_Click" Text="Submit" />

< /form>

Si el par determina el número primo Si no está muy familiarizado con él, es posible que se sienta confundido acerca del procesamiento de eventos PrimeNumberCheck anterior. Primero, los datos ingresados ​​por el usuario en txtPrimeNumber se pasan a txtPrimeNumber a través del args.value del evento. Luego, se toma la raíz cuadrada de la entrada del usuario y luego el número ingresado por el usuario se divide por cada número a partir de 2. a la raíz cuadrada recién calculada. Si el resultado es cero, significa que el número ingresado por el usuario no es un número primo, establezca args.isValid en False; si todos son cero, significa que la entrada del usuario es legal, establezca args.isValid en True;

Validación del lado del cliente

Una característica importante de los controles de validación de datos integrados de ASP.NET es que todas sus validaciones se realizan en el lado del cliente, sin pasar por el lado del servidor. y CustomValidator La verificación de errores del control se implementa completamente a través del lado del servidor. Una cosa que debe tenerse en cuenta es que, independientemente de si la validación de datos se implementa a través del cliente, la validación de datos del lado del servidor definitivamente ocurrirá. Agregar la función de validación del lado del cliente simplemente hace que nuestro control de validación de datos sea más amigable.

Para implementar la función de verificación del lado del cliente, debemos usar JavaScript o VBScript para escribir una función de script, porque VBScript solo admite el navegador IE, por lo tanto, aquí usamos JavaScript para escribir esta función:

< script language="JavaScript"

< !--

función CheckPrime(remitente, args)

{ var iPrime = parseInt (args. Valor);

var iSqrt = parseInt(Math.sqrt(iPrime));

for (var iLoop=2; iLoop< =iSqrt; iLoop++)

if (iPrime % iLoop == 0)

{ args.IsValid = false;

return;

}

args. IsValid = true;

}

// -->

< /script

En este ejemplo, ingrese los números 6. Luego presione el botón "Tab". En versiones superiores de navegadores, veremos mensajes de error del control CustomValidator. De esta manera, nuestro control CustomValidator también tiene funcionalidad de verificación del lado del cliente. En el código anterior, es posible que haya notado que no definimos los tipos de remitente de datos y argumentos, porque en los lenguajes de secuencias de comandos no existe una definición estricta de los tipos de datos.

Para implementar la validación de datos del cliente, lo único que debe hacer es agregar la siguiente declaración a la definición del control CustomValidator: ClientValidationFunction="CheckPrime". Aquí, en realidad, especifica la función de validación del cliente de la costumbre. control de validación. En este ejemplo, la función "CheckPrime" definida anteriormente es la función de verificación del cliente.

Resumen

Arriba hemos introducido el uso de CustomValidator, que es casi el control de validación de datos más flexible en ASP.NET, y hemos introducido la implementación de validación del lado del servidor y de cliente. Validación lateral del control CustomValidator. Aunque en el trabajo de desarrollo real, podemos usar el control de validación de datos integrado de ASP.NET para cumplir casi por completo con nuestros requisitos de desarrollo, si podemos comprender el uso y las características del control CustomValidator, será más útil resolver los problemas que tenemos. problemas de validación de datos.