RxJava2 Formularvalidierung

8

Ich habe ein Formular mit vier möglichen Optionen, die überprüft werden müssen (je nach den Umständen auch weniger). Es gibt 2 Editexte, einen für E-Mail und einen für ein Referenzfeld beim Erstellen eines Auftrags.

Die E-Mail- und Referenzfelder können auf Grund der Bedingungen (die beim Erstellen des Formulars verfügbar sind) leer bleiben oder nicht. Darüber hinaus müssen wir möglicherweise einen Warndialog anzeigen, um dem Benutzer mitzuteilen, dass der Referenzwert möglicherweise nicht angezeigt werden kann (dem Empfänger der Bestellung) und dass er möglicherweise auch einem Dialogfeld mit allgemeinen Geschäftsbedingungen zustimmen muss.

>

Derzeit ist die onConfirm-Prüfung in etwa so,

%Vor%

Ich würde gerne wissen, ob es eine Möglichkeit gibt, diese Validierung mit RxJava2 einfacher zu machen? (aber derzeit nicht genug wissen, um dies zu tun)

TIA

    
source.rar 10.11.2017, 09:23
quelle

2 Antworten

4

Das kann einfach sein. Es wird viel Code geben, ich werde das Ergebnis zuerst zeigen.

%Vor%

Erstellen Sie zunächst ein Modell für den ReviewState:

%Vor%

Erstellen Sie dann Ihren eigenen Validator. Es ist nicht notwendig, ein ganzes Modell zu erstellen, Sie können für jedes Feld einen Validator erstellen und diese mit flatMap (), Ihrer Wahl, verknüpfen.

%Vor%

Abstrakte Klasse für Validierer:

%Vor%

Hilfsklassen für Validator ...

%Vor%

Zuerst nahm ich die Idee von hier: Ссылка

    
Anrimian 14.11.2017 21:19
quelle
3

Ich denke, Sie sollten die RxJava CombineLatest , so dass Sie alle Form-Eingabe benötigen eine Observable produzieren, dann kombinieren Sie es einfach und passen Sie die Ansicht

als Referenz, die Sie überprüfen können:

Ссылка

Mit RxJava für die Validierung der E-Mail-Anmeldung, ein Observable strahlt zweimal aus

========

Beispiel:

%Vor%     
Bobby Prabowo 10.11.2017 10:07
quelle

Tags und Links