El efecto emergente que ha mostrado en su pantalla se puede lograr usando Android incorporado setError(String)
método de EditText
widgets.
Además, puede aprovechar el poder de las anotaciones utilizando la biblioteca Android Saripaar que he creado.
primero Añadir la biblioteca:
compile 'com.mobsandgeeks:android-saripaar:2.0.2'
La biblioteca es muy sencillo de utilizar. En su actividad, anote las referencias View
que le gustaría validar como en el siguiente ejemplo.
@Order(1)
private EditText fieldEditText;
@Order(2)
@Checked(message = "You must agree to the terms.")
private CheckBox iAgreeCheckBox;
@Order(3)
@Length(min = 3, message = "Enter atleast 3 characters.")
@Pattern(regex = "[A-Za-z]+", message = "Should contain only alphabets")
private TextView regexTextView;
@Order(4)
@Password(min = 6, scheme = Password.Scheme.ALPHA_NUMERIC_MIXED_CASE_SYMBOLS)
private EditText passwordEditText;
@Order(5)
@ConfirmPassword
private EditText confirmPasswordEditText;
El atributo order
especifica el orden en que los campos tienen que ser validados.
En su método onCreate()
instanciar un nuevo objeto Validator
. y llame al validator.validate()
dentro de cualquiera de sus oyentes de eventos.
Recibirá devoluciones de llamada en los métodos onSuccess
y onFailure
del ValidationListener
.
Si desea mostrar una ventana emergente como se muestra en la imagen de arriba a continuación, haga lo siguiente,
public void onValidationFailed(View failedView, Rule<?> failedRule) {
if (failedView instanceof Checkable) {
Toast.makeText(this, failedRule.getFailureMessage(), Toast.LENGTH_SHORT).show();
} else if (failedView instanceof TextView) {
TextView view = (TextView) failedView;
view.requestFocus();
view.setError(failedRule.getFailureMessage());
}
}
Espero que ayude.
Android Saripaar es definitivamente el camino a seguir. : D –
¿Qué ocurre con la validación del número móvil? –
@RegEx Anotación: use expresiones regulares, no hay un formato estándar para números telefónicos. –