updated validation
This commit is contained in:
parent
b0de8da96c
commit
c1849585be
|
|
@ -0,0 +1,12 @@
|
|||
package ru.touchin.templates.validation;
|
||||
|
||||
import android.support.annotation.NonNull;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
public interface ValidationFunc<TInput, TReturn> extends Serializable {
|
||||
|
||||
@NonNull
|
||||
TReturn call(@NonNull final TInput input);
|
||||
|
||||
}
|
||||
|
|
@ -65,8 +65,7 @@ public class ValidationState implements Serializable {
|
|||
|
||||
@Override
|
||||
public int hashCode() {
|
||||
//TODO
|
||||
return super.hashCode();
|
||||
return 31 * code;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -19,6 +19,8 @@
|
|||
|
||||
package ru.touchin.templates.validation;
|
||||
|
||||
import android.support.annotation.NonNull;
|
||||
|
||||
/**
|
||||
* Created by Ilia Kurtov on 24/01/2017.
|
||||
* TODO: fill
|
||||
|
|
@ -27,6 +29,6 @@ public interface ViewWithError {
|
|||
|
||||
void hideError();
|
||||
|
||||
void showError();
|
||||
void showError(@NonNull final ValidationState validationState);
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -67,7 +67,7 @@ public abstract class TwoWayValidationController
|
|||
}
|
||||
|
||||
protected boolean showError(@NonNull final ValidationState validationState) {
|
||||
return validationState != ValidationState.VALID && validationState != ValidationState.INITIAL;
|
||||
return !validationState.equals(ValidationState.VALID) && !validationState.equals(ValidationState.INITIAL);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -29,6 +29,7 @@ import ru.touchin.roboswag.core.observables.Changeable;
|
|||
import ru.touchin.roboswag.core.observables.NonNullChangeable;
|
||||
import ru.touchin.roboswag.core.utils.pairs.HalfNullablePair;
|
||||
import ru.touchin.templates.validation.ConversionException;
|
||||
import ru.touchin.templates.validation.ValidationFunc;
|
||||
import ru.touchin.templates.validation.ValidationState;
|
||||
import rx.Observable;
|
||||
import rx.exceptions.OnErrorThrowable;
|
||||
|
|
@ -44,9 +45,9 @@ public abstract class EditTextValidator<TModel extends Serializable> extends Val
|
|||
@NonNull
|
||||
private final NonNullChangeable<Boolean> showFullCheck = new NonNullChangeable<>(false);
|
||||
@NonNull
|
||||
private final Changeable<Func1<TModel, HalfNullablePair<ValidationState, TModel>>> finalCheck = new Changeable<>(null);
|
||||
private final Changeable<ValidationFunc<TModel, HalfNullablePair<ValidationState, TModel>>> finalCheck = new Changeable<>(null);
|
||||
@NonNull
|
||||
private final Changeable<Func1<String, HalfNullablePair<ValidationState, TModel>>> primaryCheck = new Changeable<>(null);
|
||||
private final Changeable<ValidationFunc<String, HalfNullablePair<ValidationState, TModel>>> primaryCheck = new Changeable<>(null);
|
||||
|
||||
@NonNull
|
||||
public NonNullChangeable<Boolean> getShowFullCheck() {
|
||||
|
|
@ -54,19 +55,19 @@ public abstract class EditTextValidator<TModel extends Serializable> extends Val
|
|||
}
|
||||
|
||||
@NonNull
|
||||
public Changeable<Func1<TModel, HalfNullablePair<ValidationState, TModel>>> getFinalCheck() {
|
||||
public Changeable<ValidationFunc<TModel, HalfNullablePair<ValidationState, TModel>>> getFinalCheck() {
|
||||
return finalCheck;
|
||||
}
|
||||
|
||||
@NonNull
|
||||
public Changeable<Func1<String, HalfNullablePair<ValidationState, TModel>>> getPrimaryCheck() {
|
||||
public Changeable<ValidationFunc<String, HalfNullablePair<ValidationState, TModel>>> getPrimaryCheck() {
|
||||
return primaryCheck;
|
||||
}
|
||||
|
||||
@NonNull
|
||||
private HalfNullablePair<ValidationState, TModel> validateText(
|
||||
@Nullable final Func1<TModel, HalfNullablePair<ValidationState, TModel>> finalCheck,
|
||||
@Nullable final Func1<String, HalfNullablePair<ValidationState, TModel>> primaryCheck,
|
||||
@Nullable final ValidationFunc<TModel, HalfNullablePair<ValidationState, TModel>> finalCheck,
|
||||
@Nullable final ValidationFunc<String, HalfNullablePair<ValidationState, TModel>> primaryCheck,
|
||||
@NonNull final String text, final boolean fullCheck)
|
||||
throws ConversionException {
|
||||
if (primaryCheck == null && finalCheck == null) {
|
||||
|
|
@ -122,7 +123,8 @@ public abstract class EditTextValidator<TModel extends Serializable> extends Val
|
|||
|
||||
@NonNull
|
||||
public Observable<HalfNullablePair<ValidationState, TModel>> fullValidateAndGetModel(@NonNull final String text) {
|
||||
return createValidationObservable(text, true);
|
||||
return createValidationObservable(text, true)
|
||||
.first();
|
||||
}
|
||||
|
||||
}
|
||||
Loading…
Reference in New Issue