Eludir que se introduzca información incorrecta en un sistema es uno de los requisitos exigidos a la informática desde sus origenes y se ha convertido en una de las
funciones mejor implementada por la sencilla razón de que la fiabilidad de un sistema informático depende de la información que contiene. Por ello, la validación establece una función imprescindible en cualquier aplicación informática. Lamentablemente, a menudo, la extrema relevancia que logicamente se otorga a impedir que el sistema se alimente con
datos erroneos acaba deteriorando la
usabilidad del sistema ya que los programadores se centran solo en controlar en espacio de guiar. En este producto se consideran las
caracteristicas de los procesos de validacion de datos de
acceso y se ofrecen algunos
consejos para
mejorar la usabilidad del sistema. Tipos de validaciones Las verificaciones a aplicar
sobre la información a introducir en un sistema
pueden analizarse aplicando distintos puntos de vista. A. Según el momento en el que se realicen Una misma validacion,
como verificar que el valor introducido en un tema de
fecha es correcto, puede llevarse a cabo en dos momentos distintos: justo al acabar de advertir el tema con lo cual estaremos ante una validacion a nivel de tema, o bien al requerir que se introduzca toda la
informacion del formulario de entrada, es decir, al darle al ?OK?, con lo cual estaremos ante una validacion a nivel de formulario. Escoger
entre estos dos momentos para efectuar una validacion concreta entabla un discusion
entre dos puntos de vista antagonicos: por un lado, el que defiende que el sistema debe controlar al usuario, y por el otro, el que opina que es el
usuario quien debe tener el
control sobre el sistema. Bruce Tognazzini estima esta segunda perspectiva
como una caracteristica necesaria para lograr una interfaz de
usuario efectiva. Por este motivo, se recomienda que,
como regla general, las validaciones se apliquen a nivel de formulario ya que ello faculta que el usuario ?navegue? libremente por los
campos del formulario sin que el sistema le interrumpa constantemente mostrandole
mensajes de yerro por no superar una validacion a nivel de campo. Seguir esta recomendacion permitira conocer, entre otras informaciones, el contenido de los valores de las combo-boxes y favorecera que el usuario se forme un mejor modelo mental de la aplicacion. Además, conviene indicar que, si bien el contenido de un tema puede verificarse tanto a nivel de tema
como a nivel de formulario, determinados
tipos de validaciones sólo pueden efectuarse a nivel de formulario. Entre otras, aquellas que comprueban:
informacion que no se descubre explicitamente en ningun tema del formulario, como, por ejemplo, el nivel de autorizacion del usuario que esta precisamente introduciendo datos en el formulario; estados que sólo se producen al dar ?OK? al formulario de entrada, como, por ejemplo, verificar, en un proceso de búsqueda, que el usuario ha informado un número mínimo de filtros a aplicar. B. Según el objeto sobre el que se apliquen Atendiendo al objeto a verificar, una validación puede ser: Simple: cuando explora el contenido de un solo campo, o bien Compuesta: cuando explora el contenido de un tema en relación al contenido de otro u otros temas ya informados en el formulario. En el
caso de validaciones compuestas resulta todavía más recomendable, si cabe, realizarlas a nivel de formulario para permitir que el usuario esté al tanto de las variadas mezclas de valores disponibles antes de darle al ?OK?. Para ello, la habilitación/deshabilitación dinámica de campos y controles resulta de mayor ayuda. C. Según el tipo de característica que validen Cualquiera de las informaciones que gestiona todo sistema se inscribe en una de estas dos categorías: Aquello que manera fraccion del conocimiento del usuario, bien sea porque pertenece al mundo real, como, por ejemplo, que las personas se clasifican en mujeres y hombres; bien sea porque se descubre en su cabeza, como, por ejemplo, que una persona se identifica por su nombre y apellidos. Aquello que el usuario desconoce. Y que, a menudo, manera fraccion de la propia logica de la aplicacion, como, por ejemplo, que las fechas deben inmanerarse con 4 digitos para el año o que para dar de alta un nuevo cliente el usuario debe poseer un nivel de autorizacion sobresaliente a X. Aunque es cierto que, a medida que el usuario va interaccionando con el sistema, su modelo mental del mismo sera mas completo y, en consecuencia, determinados componentes de la logica de la aplicacion pasaran a formar fraccion del conocimiento del usuario; resulta evidente que el tipo de conocimiento al que pertenezca la caracteristica a cerciorar afectara directamente a la facilidad de comprension del usuario. No es lo mismo verificar que en un tema de importe se introducen solo numeros, que cerciorar que en un servicio de reserva de accesos a espectaculos no se soliciten mas de 6 accesos o que la compra se realice con una antelacion minima de 3
dias sobre la fecha celebracion. En este caso, resulta imprescindible un tratamiento excelente de los mensajes del sistema tanto en su redaccion
como en elegir el tipo de mensaje correcto para que el usuario llegue a
conocer las peculiaridades del sistema que esta usando y logre su objetivo. Validaciones sobre el formato de un dato Son las tipicas comprobaciones sobre la conmaneracion y el dimension del valor introducido en un tema, como, por ejemplo, que solo sean
numeros o mayusculas, o que una fecha siga el patron ?DD-MM-AA?. Manteniendo la preferencia por las validaciones a nivel de formulario, en estos casos, resulta un escaso mas admisible aplicar una validacion a nivel de tema. A pesar de ello; la mejor solucion consiste en que sea el propio sistema quien, proactivamente y de manera automatica, realice las
acciones necesarias para dejar el valor en el manerato correcto, como, por ejemplo, introduciendolo en mayusculas aunque el usuario este tecleando minusculas o manerateando los separadores de las fechas con el caracter previsto por el sistema al dejar el tema correspondiente. Orden de las validaciones Otro agente que afecta a la usabilidad es el orden con que se aplican las validaciones a nivel de formulario. Por ejemplo, resulta muy molesto que: al darle al ?OK? a un formulario la primera validacion genere un mensaje de yerro señalando que el tema A es obligatorio y que no se ha informado; que el usuario informe el tema A y al darle otra vez al ?OK? el sistema le indique que el valor con que se ha informado el tema A no es correcto; que el usuario modifique el contenido del tema A y al darle otra vez al ?OK? el sistema le informe, justo ahora, que no posee el nivel de autorizacion indispensable para contratar este formulario de entrada. La sensación de frustración y de pérdida de tiempo que provoca en el usuario es del todo innecesaria y puede resolverse muy fácilmente si las validaciones se ejecutan siguiendo un orden lógico como, por
ejemplo el siguiente: Confirmar que la aplicacion esta disponible ya que si no esta operativa no tiene sentido verificar ningun dato del formulario de entrada. Comprobar que el usuario está autorizado utilizar el formulario de entrada. Comprobar, uno a uno, que están informados todos los campos obligatorios. Estas validaciones se realizarán considerando, para cada campo, las verificaciones A y B que se describen a continuación: Si el formulario de acceso sirve para crear una nueva ocurrencia de un objeto, asegurar que esta ocurrencia efectivamente no tiene lugar en la fundamento de datos. Si, por el contrario, el formulario de acceso sirve para consultar, adaptar o descartar una ocurrencia; confirmar que esta si tiene lugar en la fundamento de datos. Esta validacion hay que ejecutarla inmediatamente luego de haberse superado el paso numero 2 sobre el tema que contiene el valor de la ocurrencia. Ejecutar las validaciones compuestas, aquellas que consideran el contenido de un tema en relacion al contenido de otro u otros temas ya informados en el formulario. Cerciorar el resto de campos Ademas, en el orden de ejecucion de las validaciones hay que seguir la secuencia de izquierda a derecha y de encima bajo considerando las agrupaciones de campos que tenga el formulario. Es decir, seguir el mismo orden que se aplique al desplazamiento del foco de teclado entre campos que explica Josep Casanovas en su producto ?Diseño de
formularios - Campos (II). Implementar las menos validaciones probables Nadie discute la necesidad de controlar el contenido de un formulario de entrada, pero un diseño inteligente puede reducir mucho el numero de validaciones a aplicar y esto, asimismo de favorecer la usabilidad porque el usuario va a padecer menos interrupciones, tambien puede favorecer un menor coste de desarrollo, pruebas y mantenimiento. A continuación se indican varios recursos, algunos de los cuales ya menciona Josep Casanovas en su artículo, para reducir el número de validaciones a realizar: Usar temas con listas de valores asociadas o combo-boxes que facilitan que el usuario informe el tema con un valor correcto. Advertir los temas con un valor por defecto. Éste debe ser el mas probable. En caso que no convenga advertir con un valor por defecto, indicar dentro del propio tema las caracteristicas de los valores correctos. Agregar un chico texto explicando el formato y/o rango de valores correcto. Habilitar/deshabilitar dinámicamente campos y/o botones según el estado del formulario, el perfil del usuario o cualquier otra circunstancia. Convertir automáticamente el contenido de un tema al formato correcto. Agregar acciones especificas para asignar valor a un campo, como, por ejemplo, agregar un almanaque para introducir una fecha. Aunque es totalmente imprescindible verificar la
informacion a introducir en un sistema, cuando las validaciones se aplican con un orden logico y se reducen al maximo, el usuario las percibira
como una ayuda en espacio de como un obstaculo, mejorando la usabilidad del sistema.