menú
¿Música de YouTube sin molestos comerciales? ¡Ahora es posible!
TubeFiesta es una aplicación que te permite reproducir música de YouTube como un reproductor tradicional.
Crear listas, reproducción aleatoria, repetir, y hasta exportar el video a otra pantalla.
Conocer más Ir a tfiesta.com

Cómo optimizar las validaciones de tus formularios

Publicado el 19/11/2013 | 1130 visitas

Hola, en esta oportunidad escribo sobre las validaciones que normalmente haces en el botón guardar de una aplicación. Pues en algunas ocasiones podrías estar escribiendo mucho más código del necesario, desgastandote sin necesidad y perjudicando tu productividad.

Normalmente, cuando utilizas tu mismo las validaciones por código (y no controles de validación como los de ASP) requieres verificar cada uno de los controles de usuario, y para cada uno de ellos (normalmente) mostrar un mensaje al usuario si la validación ha fallado; veamos una manera "no optimizada" de validar un formulario en lenguaje C#:

private void BtnGuardar_Click(object sender, EventArgs e)
{
    if(TxtNombre.Text.Trim().Length > 0)
    {
        if(TxtApellidos.Text.Trim().Length > 0)
        {
            //Guardar el cliente.
        }
        else
        {
            LblMensajeError.Text = "Por favor escribe tus apellidos";
        }
    }
    else
    {
        LblMensajeError.Text = "Por favor escribe tu nombre";
    }
}

Si te parece familiar entonces sigue leyendo...

Ahora vamos a ver cómo podemos optimizar estas dos validaciones utilizando la clase Exception.

private void BtnGuardar_Click(object sender, EventArgs e)
{
    try
    {
        if(TxtNombre.Text.Trim().Length == 0)
            throw new Exception("Por favor escribe tu nombre");
        
        if(TxtApellidos.Text.Trim().Length == 0)
            throw new Exception("Por favor escribe tus apellidos");
        
        //Guardar el cliente.
    }
    catch(Exception ex)
    {
        LblMensajeError.Text = ex.Message;
    }
}

Lo que hicimos fue realizar las validaciones al contrario, es decir, antes preguntabamos si se ingresó el nombre para dejarlo pasar, ahora preguntamos si NO se ingresó el nombre para interrumpir.

La interrupción se hace lanzando una excepción con un mensaje personalizado y es capturado por el único catch, de esta manera centralizamos la forma en que mostraremos el mensaje al usuario.

Este ultimo también es visiblemente más limpio que el primero, solo imagínate un formulario de 10 o más campos para validar y compara.

Y si no lo sabias, de esta manera también puedes hacer tus validaciones en cualquier lenguaje de programación, al menos los más utilizados.

Talvez te interese...

Mayor seguridad en últimas versiones de WhatsApp
Kiddle, buscador basado en Google para niños
[Truco] Contar caracteres en Google Chrome
Tutorial de sockets en c# con ejemplos - Parte 2 - UDP
blog comments powered by Disqus