Entrada rápida: viendo la página de la Comisión Nacional de Comunicaciones (CNC) con los proveedores de internet de Argentina, me causó mucha gracia notar lo siguiente: en el apartado “Localidad”, Córdoba figura tanto como “CORDOBA” como “CÓRDOBA”. Lo gracioso es que los listados para uno y otro son distintos (lo cual tiene sentido), o lo serían de no ser porque UOL Argentina figura por duplicado, una vez en cada uno. Anécdota: UOL es, desde hace unos 8 años, el proveedor de e-mail para mi cuenta de spam, o sea la que uso para darme de alta en sitios a los que no me interesa volver (notar que esto fue antes de los servicios de e-mail temporal, sobre los cuáles debería hablar alguna vez).
En fin, me fui por las ramas, como siempre. Lo que quería decir, en definitiva, es esto: si tienen una situación como esta, donde pueden encontrar “Córdoba”, “Cordoba”, “CORDOBA”, “cordoba” o incluso “Còrdoba”, hay dos alternativas:
- Usar un combo que diga “Provincia”. Problema solucionado, y encima tenemos de regalo un código para nuestra base
- Validar. Pero no validar después, sino en el preciso momento en el que el usario está escribiendo. Una vez alguien (no recuerdo quién, sorry) dijo algo que me llegó al alma, y fue algo como “si sabemos que un dato está mal, ¿para qué pedirle al usuario que lo vuelva a ingresar si podemos corregirlo directamente?”. Obvio, esta situación no se da muy seguido, pero el ejemplo típico sería, si yo pongo una regla (ej, no utilizar acentos ni números), en vez de saltar un pop-up que diga “no ingrese caracteres raros”, mejor un poco de Javascript que los elimine mientras los estamos escribiendo (tomando las debidas precauciones, por supuesto).
Tengo una hermosa maquinita de estados en código que hace lo segundo. Si se alinean los astros, escribiré algo al respecto la semana que viene.






