Ejemplos de ISValidator
Esta página recoge unos ejemplos de uso de las rutinas ISValidator. Puede así mismo ver los ejemplos que se incluyen
en el paquete para descargar.
Situación
Supongamos que queremos realizar un programa que funcione bajo la línea de comandos del Sistema Operativo para mandar emails y registrarlos en una base de datos. A este programa se le deben pasar cuatro parámetros:
-
Email de destino, como primer argumento. Se impone por restricciones de la base de datos donde se van a almacenar los datos a introducir, que la longitud de este campo no sea superior a 100 caracteres, y por supuesto sea un email válido.
-
Asunto, como segundo argumento. Las restricciones para este campo son que no sea nulo y tenga una longitud máxima de 255 caracteres.
-
Fecha de envío, como tercer argumento. Este campo tiene como restricción que sea una fecha válida (dd/mm/aaaa).
-
Cuerpo del mensaje, como cuarto argumento. Se impone una restricción de tamaño máximo de 1000 caracteres
Si alguna de estas restricciones no se cumpliese se deberá mostrar un mensaje por pantalla indicando todas las condiciones incumplidas.
Los diferentes componentes de ISValidator son los siguientes:
Contenedores de restricciones |
Realizan la función de tener almacenadas todas las restricciones que se aplican a un determinado campo. Así mismo en caso de querer utilizar un Procesador de Restricciones Invalidas se encargaría de su manejo.
Estos componentes se encargan de realizar el control del flujo de ejecución de las restricciones y los Procesadores de Restricciones Invalidas.
Cada Contenedor de Restricciones maneja las restricciones de un único campo o dato.
En nuestro ejemplo tendríamos cuatro contenedores de restricciones, uno por cada dato a aplicarle las restricciones.
|
Restricciones |
Realizan la función de comprobar si un determinado dato cumple o no un criterio.
En nuestro caso tendríamos varias restricciones:
-
Email tendría a aplicar la restricción de email y la de longitud menor que.
- Asunto tendría a aplicar la de longitud menor.
- Fecha de envío tendría a aplicar la de fecha.
- El cuerpo del mensaje tendría a aplicar la de longitud menor.
|
Procesadores de Restricciones Inválidas |
Realizan la función de gestionar los mensajes de incumplimiento de las restricciones. Es el Contenedor de Restricciones el que maneja el flujo entre el Procesador de Restricciones Invalidas y la Restricción, que es la que sabe si el dato es valido o no y si no lo es porque.
Hay un único Procesador de Restricciones Inválidas por cada restricción y cada restricción solo tiene un único Procesador de Restricciones Inválidas.
En nuestro ejemplo debemos tener uno de estos procesadores de Restricciones Inválidas para mostrar los mensajes en pantalla.
|
MetaContenedores |
Realizan la función de agrupar los diferentes Contenedores de Restricciones
que puede haber en una validación para facilitar el manejo por parte del programador y
soportar también las Restricciones Condicionales.
En nuestro ejemplo utilizaremos uno para contener los cuarto Contenedores de
Restricciones
|
Ejemplos
Se dispone de diferentes implementaciones sobre este ejemplo, cada uno de ellos
adaptado a una situación diferente.