Merge pull request #26 from TouchInstinct/feature/optional_focus_valiadation

Feature/optional focus valiadation
This commit is contained in:
Gavriil 2017-02-09 13:06:14 +03:00 committed by GitHub
commit e5a0796c67
1 changed files with 13 additions and 1 deletions

View File

@ -39,6 +39,8 @@ import rx.Observable;
public class EditTextValidationController<TModel extends Serializable>
extends ValidationController<String, TModel, EditTextValidator<TModel>> {
private boolean showErrorOnFocusOut = true;
public EditTextValidationController(@NonNull final EditTextValidator<TModel> validationWrapper) {
super(validationWrapper);
}
@ -56,7 +58,7 @@ public class EditTextValidationController<TModel extends Serializable>
return Observable.combineLatest(activatedObservable,
getValidator().getWrapperModel().observe(),
focusOutObservable,
getValidator().getShowFullCheck().observe(),
showErrorOnFocusOut ? getValidator().getShowFullCheck().observe() : Observable.just(false),
this::getValidationPair)
.switchMap(validationPair -> {
if (validationPair == null) {
@ -93,4 +95,14 @@ public class EditTextValidationController<TModel extends Serializable>
return new NonNullPair<>(focus, getValidator().fullValidate(text));
}
/**
* If we don't want to show error when focus is lost.
*
* @param showErrorOnFocusOut show an error or don't show an error.
*
*/
public void setShowErrorOnFocusOut(final boolean showErrorOnFocusOut) {
this.showErrorOnFocusOut = showErrorOnFocusOut;
}
}