From d9d7bf7b509123f012729f216dd486b35be509d9 Mon Sep 17 00:00:00 2001 From: Anton Domnikov Date: Wed, 8 Feb 2017 19:34:03 +0300 Subject: [PATCH 1/2] add optional validation if focus is lost --- .../EditTextValidationController.java | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/main/java/ru/touchin/templates/validation/validationcontrollers/EditTextValidationController.java b/src/main/java/ru/touchin/templates/validation/validationcontrollers/EditTextValidationController.java index c8da94b..82e374b 100644 --- a/src/main/java/ru/touchin/templates/validation/validationcontrollers/EditTextValidationController.java +++ b/src/main/java/ru/touchin/templates/validation/validationcontrollers/EditTextValidationController.java @@ -39,6 +39,8 @@ import rx.Observable; public class EditTextValidationController extends ValidationController> { + private boolean showErrorOnFocusOut = true; + public EditTextValidationController(@NonNull final EditTextValidator validationWrapper) { super(validationWrapper); } @@ -56,7 +58,7 @@ public class EditTextValidationController 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,8 @@ public class EditTextValidationController return new NonNullPair<>(focus, getValidator().fullValidate(text)); } + public void setShowErrorOnFocusOut(final boolean showErrorOnFocusOut) { + this.showErrorOnFocusOut = showErrorOnFocusOut; + } + } \ No newline at end of file From 2a6dcd54226d8fb8aa04d4622cf0bfd6b447b0d9 Mon Sep 17 00:00:00 2001 From: Anton Domnikov Date: Wed, 8 Feb 2017 19:50:09 +0300 Subject: [PATCH 2/2] commented --- .../validationcontrollers/EditTextValidationController.java | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/main/java/ru/touchin/templates/validation/validationcontrollers/EditTextValidationController.java b/src/main/java/ru/touchin/templates/validation/validationcontrollers/EditTextValidationController.java index 3c4093b..cf83960 100644 --- a/src/main/java/ru/touchin/templates/validation/validationcontrollers/EditTextValidationController.java +++ b/src/main/java/ru/touchin/templates/validation/validationcontrollers/EditTextValidationController.java @@ -95,6 +95,12 @@ public class EditTextValidationController 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; }