Descripción general de los controles de validación ASP.Net

Los controles de validación ASP .Net proporcionan un mecanismo para verificar la entrada del usuario antes de enviarlos al servidor. Esto evita el almacenamiento de datos sin escrúpulos, maliciosos y sin sentido en el servidor / base de datos. Esencialmente, estos controles de validación aseguran que los datos completados por el usuario en los campos del formulario sean genuinos y se alineen con los requisitos.

¿Cómo trabajan?

Para comprender el funcionamiento de los controles de validación ASP.Net, echemos un vistazo a la clase que heredan todos los controles. Si no está familiarizado con el concepto de herencia, le recomendamos que lo entienda antes de continuar.

La clase BaseValidator

Todos los controles de validación en ASP.Net heredan las propiedades y métodos de la clase BaseValidator. Ayuda a crear un conjunto genérico de controles de validación. Las propiedades y métodos importantes de la clase BaseValidator son:

  • ControlToValidate: indica el control de entrada para validar. Debe ser un valor único en todo el formulario. Este atributo es obligatorio ya que se usa para asociar el control de entrada con un control de validación.
  • Habilitado: habilita o deshabilita el validador.
  • Texto: contiene el mensaje que se mostrará en caso de un error de validación.
  • ErrorMessage: el valor de este atributo se muestra cuando se usa el control ValidationSummary o cuando falta la propiedad Text.
  • IsValid: un atributo booleano que indica si el control es válido o no.
  • Validate (): este método revalida el control y actualiza IsValid

Tipos de control de validación ASP.Net

Los siguientes son los tipos de controles de validación ASP.NET:

1. RequiredFieldValidator

Este es un control de validación elemental. Casi todos los formularios tienen algunos campos que el usuario debe completar antes de continuar. El Validador de campo obligatorio garantiza que dichos campos no se dejen vacíos.

Sintaxis

runat="server" ControlToValidate ="someUniqueControlId"
ErrorMessage="ErrorToDisplayOnValidationFailure"
InitialValue="aPlaceholderValue">

Observe el atributo Valor inicial en la sintaxis anterior. Esto aunque actúa como marcador de posición, además, la validación falla si el valor del campo no cambia desde InitialValue al perder el foco.

Nota : No se preocupe demasiado por el atributo runat = "servidor " . Se utiliza para indicar a ASP.Net que el control también está disponible en el lado del servidor. Hacer que el control esté disponible en el lado del servidor ayuda a acceder al control en la lógica de código subyacente.

2. RangeValidator

El control RangeValidator simplemente especifica el rango permitido dentro del cual debe caer el valor de entrada. Esto es más útil para los valores de entrada numéricos, como la edad o para los valores de entrada de fecha.

Sintaxis

runat="server" ControlToValidate ="someUniqueControlId"
ErrorMessage="ErrorToDisplayOnValidationFailure"
Type="Integer" MinimumValue=”0” MaximumValue=”100”>

Hay tres propiedades adicionales de este control.

  • Tipo : especifica el tipo de datos en el campo de entrada. El valor se convierte a este tipo antes de la validación. Se produce una excepción si el valor no se puede convertir al tipo especificado. Los siguientes tipos de datos se pueden comparar en RangeValidator:
    1. Cuerda
    2. Entero
    3. Doble
    4. Fecha
    5. Moneda
  • Valor mínimo: especifica el valor mínimo que puede contener el campo.
  • MaximumValue : especifica el valor máximo que puede contener el campo. Los valores mínimos y máximos son invalidaciones inclusivas.

3. RegularExpressionValidator

  • RegularExpressions, o simplemente Regex, son patrones que definen el formato del texto. Si el texto está en el mismo formato, Regex devuelve verdadero, de lo contrario falso. Se recomienda leer sobre Regex si no está familiarizado con él. Esto también le dará una idea sobre cómo se forman los patrones Regex y cómo descifrar un patrón Regex.
  • Por lo tanto, un RegularExpressionValidator es un control de validación muy versátil. Hace coincidir el texto de entrada con el patrón especificado en la propiedad ValidationExpression.

Sintaxis

runat="server" ControlToValidate ="someUniqueControlId"
ErrorMessage="ErrorToDisplayOnValidationFailure"
ValidationExpression=”aRegexPattern”>

Un ejemplo de un patrón Regex puede ser (az) (0-9). Esto indica que un texto debe comenzar con un alfabeto y seguir con un número.

4. CompareValidator

  • El control CompareValidator compara el valor de un control con un valor fijo o un valor en otro control.

Sintaxis

runat="server" ControlToValidate ="someUniqueControlId"
ErrorMessage="ErrorToDisplayOnValidationFailure"
Type="string" ControlToCompare=”ControlToValidateIdOfAnotherControl”
ValueToCompare=”aFixedValue” Operator=”Equal”>

Hay tres nuevas propiedades en este validador:

  • ControlToCompare : contiene el Id. ControlToValidate de otra forma de control. Luego se compara el valor de ambos campos del formulario.
  • ValueToCompare : un valor fijo con el que se debe realizar la comparación.
  • Operador : el tipo de comparación. Los valores permitidos en este atributo son:
    1. Igual
    2. No es igual
    3. Mas grande que
    4. GreaterThanEqual
    5. Menos que
    6. LessThanEqual
    7. DataTypeCheck

5. CustomValidator

  • ASP.Net también permite la libertad de escribir su propio validador. Esto facilita la tarea de un desarrollador para validar el formulario en el lado del cliente. También permite implementar validaciones más complejas. Las validaciones que son específicas del negocio o de la aplicación se pueden escribir utilizando validadores personalizados.
  • El código de validación personalizado se escribe en una función en la página de código subyacente y el nombre de la función se pasa como un atributo a la clase CustomValidator. La validación personalizada se puede realizar tanto en el lado del cliente como en el lado del servidor.
  • La propiedad ClientValidationFunction especifica que la validación se realizará en el lado del cliente. Dicho código de validación debe estar escrito en algún lenguaje de script como JavaScript, VBScript, etc.
  • El controlador de eventos ServerValidate se utiliza cuando la validación debe realizarse en el lado del servidor. La rutina de validación del lado del servidor está escrita en C #, VB .Net o cualquier otro lenguaje .Net.

Sintaxis

runat="server" ControlToValidate ="someUniqueControlId"
ErrorMessage="ErrorToDisplayOnValidationFailure"
ClientValidationFunction=”functionName”>

6. Validación Resumen

El control ValidationSummary no realiza ninguna validación. Su propósito es mostrar un resumen de todos los errores en la página.

Sintaxis

runat="server" DisplayMode=”BulletList” ShowSummary=”true”
HeaderText=”List of Errors” />

Conclusión: controles de validación ASP .Net

Este artículo cubre los conceptos básicos de los controles de validación en ASP .Net. Hay mucho más por descubrir una vez que comience a construir su formulario web. Para codificadores avanzados, recomendamos la documentación de MSDN para una comprensión profunda del tema.

Artículos recomendados

Esta ha sido una guía para los controles de validación ASP.Net. Aquí discutimos la Introducción, Tipos con la sintaxis de ASP.Net Validation Control. También puede consultar nuestros otros artículos sugeridos para obtener más información.

  1. Ciclo de vida de la página ASP.NET
  2. ¿Qué es ASP.NET?
  3. JSP vs ASP
  4. Asp.Net MVC Preguntas de la entrevista
  5. Funciones de expresiones regulares en Python (ejemplo)