Validar EditText en Android con setError y un tooltip

Han pasado los años y Android ha evolucionado muchísimo, tanto en velocidad, seguridad y novedades; pero una cosa que también ha cambiado y mejorado es el soporte para desarrolladores.

En este post voy a explicar cómo validar un valor que obtenemos de un campo de texto o EditText de Android, pero de una forma bonita como se ve en la captura.

Validación de EditText en Android con setError

Validación de EditText en Android con setError

Validar el valor de un EditText de Android de esta forma (usando setError) ofrece una mejor manera de indicarle al usuario que un dato no es válido con un tooltip. Veamos entonces cómo validar lo que el usuario escribe.

No será la gran cosa, y no es algo difícil; pero le da un toque a nuestras apps.

Descargar aplicación y código

El código es totalmente open source y puedes verlo en el repositorio. La APK para probar puedes descargarla en la sección de releases.

Validar EditText de Android

En este ejemplo validaremos que no sea una cadena vacía y que sea un número mayor o igual a 5 y menor o igual a 60. Primero declaramos nuestro EditText con id etNumero y le asignamos su valor de la vista con findViewById.

También necesitamos un botón, que será el que realizará la validación. Lo declaramos con Button, le ponemos el id btnOk y listo.

La validación viene en el click del botón:

Nota: ese fragmento es tomado del repositorio, no creas que es distinto. Si quieres ver todo el código de la MainActivity lo dejo aquí; recuerda que solamente puse el código que realiza la validación.

Aunque se ve un poco largo, solamente estamos trabajando con setError. Al presionar el botón se eliminan los errores con setError(null);, después de ello obtenemos el valor y lo comparamos con una cadena vacía usando algo como la notación Yoda.

En caso de que el valor esté vacío, es decir, que no se haya introducido nada, entonces mostramos el primer error con setError(mensaje).

Luego de eso, en caso de que no sea una cadena vacía, la convertimos a un entero con Integer.parseInt y comprobamos su rango.

Si está dentro del rango mostramos un simple Toast, aunque en la vida real significa que el número está validado. En caso de que no, mostramos otro error.

Conclusiones

Esto fue un ejemplo muy sencillo y fácil, pero nos da un panorama de lo que podemos alcanzar con setError. De esta manera podemos validar cosa por cosa, pasar por distintos escenarios e indicar que un campo está mal rellenado.

Cabe mencionar que setError podría aceptar un segundo parámetro que indica el icono que se pondrá con el aviso, pero eso lo dejamos para otro post.

Recuerda, siempre puedes ver más sobre Android y también leer más tutoriales sobre Java.

Validar EditText en Android con setError y un tooltip

Por parzibyte Tiempo de lectura: 2 min
0