Easy-Checker es una biblioteca de validación de entrada muy simple para Android escrita en Kotlin y fácilmente accesible incluso desde código Java. Obtendrá muchas formas de validación o bibliotecas. Pero la mayoría de ellos no son tan fáciles para esta tarea simple, es por eso que la mayoría de las veces buscamos la cadena heredada para verificar todos los campos de entrada, y todos sabemos lo molesto que es.
- Cuadro de entrada en blanco (Editar texto)
- Validación de número de teléfono
- Validación de correo electrónico
- Validación de contraseña
- Confirmar validación de contraseña
- Validador personalizado
- Varargs para una fácil inserción de campos de entrada en lugar de una matriz o lista
- Validación de contraseña personalizada RegEx
- Clase Singleton para deshacerse de objetos y pérdidas de memoria
Instalación
Easy-Checker proporciona una fácil instalación basada en Maven
Paso 1:
agregue esto a su archivo raíz build.gradle
allprojects {
repositories {
maven { url 'https://jitpack.io' }
}
}
Paso 2:
agregue esta dependencia en su archivo build.gradle a nivel de aplicación
implementation 'com.github.mkhan9047:Easy-Checker:1.0.2'
¿Cómo utilizar?
La clase principal es EasyChecker, es una clase única que tiene solo una función pública, validateInput (), es un proceso súper simple, agregue etiquetas en su campo de entrada, ¡llame a la función con posibles parámetros!
Agregue android: tag = “su nombre de campo” a todos los campos de entrada (EditText o TextView), es muy fácil, esta biblioteca usará etiquetas para generar el mensaje de error real, como “El nombre no puede estar vacío” o “El correo electrónico no es válido” !
Sugerencia: las etiquetas constantes son “Contraseña”, “Teléfono”, “Correo electrónico”, “Confirmar contraseña” si tiene esos campos, no pierda esta etiqueta y tampoco cambie el mensaje de etiqueta, para archivos archivados, puede usar cualquiera que quieras!
<EditText
android:id="@+id/firstEditText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Name"
android:tag="Name"/>
<EditText
android:id="@+id/fourthEditText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Confirm Password"
android:tag="Confirm Password">
Parámetros
- Contexto
- Longitud de contraseña deseada (entero, rango de 4 a 24 por defecto)
- Patrón de contraseña para la validación de contraseña con Regex, escribí una clase personalizada con algunos patrones regulares, consulte la sección Patrón de contraseña a continuación, si no desea usar Patrón de contraseña, pase nulo o PasswordPattern.PASSWORD_PATTERN_NONE
- Campos de entrada o TextField (EditText, TextView) [Pass as much you have one by one It’s varargs]
try {
var isValidationSuccess = EasyChecker.validateInput(
MainActivity.this,
8,
PasswordPattern.PASSWORD_PATTERN_NONE,
firstNameEditText,
lastNameEditText,
emailEditText,
passwordEditText,
confrimPasswordEditText
)
/**you can either use the returned boolean or just do the implementaiton
here as errors are only thrown in exception blocks
**/
doSignUp()
//or
if(isValidationSuccess){
//if validated
doSignUp()
}else{
//if not validated
}
} catch (developerErrorException: DeveloperErrorException) {
//best approach to print in log
developerErrorException.printStackTrace()
} catch (inputErrorException: InputErrorException) {
//best approach is show this to user
Toast.makeText(
this,
inputErrorException.message,
Toast.LENGTH_LONG
).show()
}
Excepciones
Hay dos tipos de excepciones, una es DeveloperException y otra es InputErrorException, esas excepciones son básicamente excepciones verificadas, por lo que debe detectar ambas excepciones.
-
DeveloperException: Básicamente, esta excepción se lanza si el desarrollador cometió un error al implementar esta biblioteca, como no agregar “Etiqueta” en el campo de entrada o el campo de texto o proporcionar parámetros incorrectos u otros
-
InputErrorException: esta excepción es el principal error de validación realizado por el usuario, puede obtener el mensaje real de la excepción y mostrárselo al usuario, como si un usuario no ingresara el campo de correo electrónico, obtendría algo como: “El e -¡El campo de correo no puede estar vacío! ” o lo que quieras
Plantillas de contraseña
Escribí una clase con un patrón de contraseña Regex popular, aquí están las constantes:
- PasswordPattern.PASSWORD_PATTERN_NONE = Use esto si no quiere usar Regex para la validación de contraseña
- PasswordPattern.PASSWORD_PATTERN_ONE = Mínimo ocho caracteres, al menos una letra y un número
- PasswordPattern.PASSWORD_PATTERN_TWO = Mínimo ocho caracteres, al menos una letra, un número y un carácter especial
- PasswordPattern.PASSWORD_PATTERN_THREE = Mínimo ocho caracteres, al menos una letra mayúscula, una letra minúscula y un número
- PasswordPattern.PASSWORD_PATTERN_THREE = Mínimo ocho caracteres, al menos una letra mayúscula, una letra minúscula, un número y un carácter especial
Desarrollo
Quieres contribuir? ¡Estupendo! ¡Haz una solicitud de extracción y haz lo mejor que puedas, me casaré si es bueno para los demás!
Licencia
Licencia MIT Copyright (c) 2019 Mujahid Khan Se otorga permiso, sin cargo, a cualquier persona que obtenga una copia de este software y los archivos de documentación asociados (el “Software”), para tratar el Software sin restricciones, incluidos, entre otros, los derechos de usar, copiar, modificar, fusionar, publicar, distribuir, otorgar sublicencias y/o vender copias del Software y permitir que las personas a las que se les proporciona el Software lo hagan, bajo las siguientes condiciones: El aviso de derechos de autor anterior y este aviso de autorización deben ser incluido en todas las copias o partes sustanciales del Software.
EL SOFTWARE SE PROPORCIONA “TAL CUAL” SIN GARANTÍA DE NINGÚN TIPO, EXPRESA O IMPLÍCITA, INCLUYENDO, ENTRE OTRAS, GARANTÍAS DE COMERCIABILIDAD, IDONEIDAD PARA UN FIN DETERMINADO Y NO VIOLACIÓN. EN NINGÚN CASO LOS AUTORES O LOS TITULARES DE LOS DERECHOS DE AUTOR SERÁN RESPONSABLES DE CUALQUIER RECLAMACIÓN, DAÑO U OTRA RESPONSABILIDAD, YA SEA CONTRACTUAL, ILÍCITA O DE OTRO TIPO, QUE SURJA O ESTÉ RELACIONADO CON EL SOFTWARE O EL USO U OTROS CONTRATOS EN EL SOFTWARE.