¡Acceso ilimitado 24/7 a todos nuestros libros y vídeos! Descubra la Biblioteca Online ENI. Pulse aquí
¡Acceso ilimitado 24/7 a todos nuestros libros y vídeos! Descubra la Biblioteca Online ENI. Pulse aquí
  1. Libros
  2. C# 10
  3. Validar los datos introducidos
Extrait - C# 10 Desarrolle aplicaciones Windows con Visual Studio 2022
Extractos del libro
C# 10 Desarrolle aplicaciones Windows con Visual Studio 2022
3 opiniones
Volver a la página de compra del libro

Validar los datos introducidos

Introducción

El principio general de cualquier aplicación es recopilar datos en entrada y suministrar datos transformados de salida. Estos datos pueden provenir de diferentes fuentes y, antes de poder tratarlos, hay que validarlos para asegurar su correcto formato y, de esta manera, mejorar la fiabilidad de la aplicación.

En caso de los formularios y de los datos introducidos por un usuario, la validación y el control se van a poder hacer a nivel de los campos de entrada y así, a nivel de formulario. Además de la validación y, por tanto, de la comprobación de los errores de entrada de datos, hay que devolver mensajes explicativos al usuario para que pueda corregir sus datos.

La validación a nivel de campos

1. Las propiedades de validación

La validación a nivel de campos verifica los datos introducidos por el usuario. Algunas propiedades de los campos van a permitir limitar la entrada de datos del usuario como, por ejemplo, la propiedad MaxLength de los controles de tipo TextBox.

Esta propiedad, una vez definida, impide al usuario introducir más caracteres que el número permitido. Por tanto, tenemos una primera validación nativa de los controles de tipo TextBox que evita escribir código adicional para detectar el número de caracteres introducidos.

Las propiedades de los controles permiten implementar limitaciones sencillas en la entrada de datos, sin gestionar todos los casos. Si un campo debe tener como entrada un código postal, la propiedad MaxLength del campo de tipo TextBox para la entrada de datos de este dato permitirá limitar al usuario la entrada de datos a cinco caracteres como máximo, pero nada le impedirá introducir menos o incluso caracteres no numéricos. Los eventos relacionados con el teclado son útiles para validar la entrada de datos.

2. Los eventos de validación

Los eventos de teclado como KeyDown, KeyUp o KeyPress se desencadenan en el control que tiene el foco durante la entrada de datos y, según el caso, cuando una tecla se pulsa, se suelta o se pulsa y después se suelta. Cuando estos eventos se desencadenan...

La validación a nivel de formulario

La validación a nivel de formulario consiste en probar los datos introducidos una única vez, antes de cerrar el formulario. La idea es recorrer todos los controles para determinar los errores y mostrarlos al usuario una única vez. Además, algunos datos de un formulario solo tienen sentido vistos en conjunto, y no de manera aislada los unos de los otros. Además, un campo que no puede permanecer sin valor y que no haya recibido el foco podría quedar sin valor cuando se cierre el formulario.

Un formulario que tenga un botón de validación permite realizar los controles necesarios para validar los datos en un controlador que responda al evento Click del botón de validación. El formulario MailServerSettings contiene el campo que permite especificar el host del servidor de correo, que no puede estar vacío.

Añada el código de validación de este campo al controlador del evento Click del botón Valid, creado anteriormente:

void Valid_Click(object sender, EventArgs e)  
{  
    if (string.IsNullOrWhiteSpace(this.Host.Text))  
        MessageBox.Show("El campo Host se debe rellenar.");  
} 

Este código no valida los campos uno a uno. Si el foco no entra nunca en el control de entrada de datos del email de la persona que envía, su método...

Los métodos de retorno al usuario

Cuando un dato es incorrecto, hay que informar al usuario de su error para que lo pueda corregir. Si el error es lo suficientemente explícito, centrar la atención del usuario sobre un control del formulario cambiando su color a rojo puede ser una buena técnica. En los ejemplos anteriores, se ha utilizado el método MessageBox.Show para mostrar un mensaje al usuario. Esto permite describir el error y ser más preciso. El componente ErrorProvider permite señalar los errores de una manera más elegante.

1. MessageBox

El tipo MessageBox, que contiene el método estático Show, es la manera más sencilla de mostrar un mensaje al usuario. Este método muestra un cuadro de diálogo modal, lo que provoca que se detenga la ejecución de la aplicación; el usuario debe realizar una acción para cerrarla.

La manera más sencilla de mostrar un mensaje consiste en utilizar el método Show con un único argumento de tipo string:

MessageBox.Show("Mi mensaje."); 

El cuadro de diálogo que se muestra será:

images/cap10_img_01.png

El método Show tiene veinte sobrecargas que permiten personalizar el mensaje que se muestra. De esta manera es posible modificar el título, mostrar un icono en función del tipo de mensaje que se envía, elegir los botones que se muestran y definir el botón por defecto, entre...