Biblioteca de validación de formularios para Android

¿Existe alguna API / biblioteca de validación de formulario madura para Android? He encontrado http://code.google.com/p/android-binding/, pero parece que está bajo un gran desarrollo.

ACTUALIZACIÓN: Sólo para aclarar mi pregunta. Actualmente, tengo la validación de forma codificada imperativamente. Y me gustaría saber, si hay una biblioteca de validación de formulario maduro que me permite declarar de forma explícita validadores (por ejemplo, directamente en XML o en código usando anotaciones o de manera fluida funcional, …).

La biblioteca ahora admite anotaciones, puede validar sus campos simplemente agregándolos. Aquí hay un fragmento de código de ejemplo.

@NotEmpty @Order(1) private EditText fieldEditText; @Checked(message = "You must agree to the terms.") @Order(2) private CheckBox iAgreeCheckBox; @Length(min = 3, message = "Enter atleast 3 characters.") @Pattern(regex = "[A-Za-z]+", message = "Should contain only alphabets") @Order(3) private TextView regexTextView; @Password @Order(4) private EditText passwordEditText; @ConfirmPassword @Order(5) private EditText confirmPasswordEditText; 

La anotación del pedido es opcional y especifica el orden en el que se deben validar los campos. Esto es SOLO necesario si desea que el orden de los campos se conserven durante la validación. También hay otras anotaciones como @Email , @IpAddress , @Isbn , etc.,

Android Studio / Gradle

 compile 'com.mobsandgeeks:android-saripaar:2.0.2' 

Compruebe la última versión disponible.

Eclipse
Puede descargar el tarro de aquí y agregarlo a su directorio de libs Android.

Respuesta Antigua (Saripaar v1)
He creado una biblioteca para la validación. Aquí está el blog asociado y el proyecto . Lo he utilizado con éxito en aplicaciones de producción y actualmente satisface la mayoría de los escenarios comunes que enfrentamos en las formas de validación para Android. Hay reglas que salen de la caja y si necesitas escribir las tuyas, puedes hacerlo escribiendo tu propia Regla.

Aquí hay un fragmento que ilustra el uso de la biblioteca.

 validator.put(nameEditText, Rules.required("Name is required.")); validator.put(nameEditText, Rules.minLength("Name is too short.", 3)); validator.put(emailEditText, Rules.regex("Email id is invalid.", Rules.REGEX_EMAIL, trim)); validator.put(confirmPwdEditText, Rules.eq("Passwords don\'t match.", pwdEditText); 

También hay or y and reglas que le permiten realizar && y || operaciones en varias reglas. También hay una regla compositeOr y compositeAnd que le permite realizar validaciones entre varias vistas.

Si alguno de ellos parece ser insuficiente, siempre puede escribir su propia regla extendiendo la clase Regla .

Recomendaría OVal

 public class BusinessObject { @NotNull @NotEmpty @Length(max=32) private String name; ... } // collect the constraint violations List<ConstraintViolation> violations = validator.validate(bo); 

Estoy planeando utilizarlo en mi próximo proyecto ya que tiene una variedad de lenguajes de expresión, pero sólo Java es difícil requerido.

No es compilador JSR303, pero también soporta esas anotaciones.

Si quieres validar los campos de texto (EditText) entonces te sugeriré que uses Pattern and Matcher con expresiones regex, claro que no estamos usando android API aquí, pero Android es compatible con API java, por lo que puedes.

Esta será la forma sencilla y madura de validar los textos o formularios de entrada:

 private EditText et_first_name; et_first_name = (EditText)findViewById(R.id.et_first_name); et_first_name = (EditText)findViewById(R.id.et_first_name); first_name.matches("^(?i)(?=.{1,20}$)([A-Za-z]+[A-Za-z0-9-_.]*$)"); // use the regex expression inside brackets and returns the error status . 

Utilizar biblioteca Oval para validar en android Es la biblioteca de validación basada en objetos usada en las clases Object

puesto que luché con tales problemas en mis el propios, agregué esta funcionalidad a las funciones de la base de mi marco de la aplicación de BARACUS. Ver http://baracusframework.blogspot.de/2014/01/baracus-from-scratch-part-6-automatic.html para más detalles.

El concepto incluye una vinculación declarativa de validadores nombrados en el formulario más el enrutamiento automático de cualquier mensaje de violación de restricción.

Usando cualquiera

 android.widget.AutoCompleteTextView.Validator; myTextview.setValidator(myCustomValidator); 

o myTextView.setError(error-message) en un onTextChangedListener funciona bien y el segundo parece realmente grande.

FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.