Ich habe ein Formular mit 4 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, wenn Sie einen Auftrag erstellen.RxJava2 Formularvalidierung
Die E-Mail- und Referenzfelder können auf Grund der Bedingungen (die beim Erstellen des Formulars verfügbar sind) möglicherweise nicht leer gelassen werden. 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 einem Dialogfeld für Bedingungen und Bedingungen zustimmen muss.
Derzeit werden die onConfirm Kontrollen ist in etwa so,
void onCreateOrderConfirmed(@Nullable final String receiverEmail,
@Nullable final String reference,
@Nullable final Boolean noRefAgreed,
@Nullable final Boolean termsAndConditionsAgreed) {
if (!reviewCompletionState.emailRequirementSatisfied()) {
if (!isValidEmail(receiverEmail)) {
view.showEmailError();
return;
}
reviewCompletionState = reviewCompletionState.newBuilder()
.receiverEmail(receiverEmail)
.emailRequirementSatisfied(true)
.build();
}
if (!reviewCompletionState.referenceRequirementSatisfied()) {
if (isEmpty(reference)) {
view.showReferenceError();
return;
}
reviewCompletionState = reviewCompletionState.newBuilder()
.reference(reference)
.referenceRequirementSatisfied(true)
.build();
}
if (!reviewCompletionState.noRefAgreed()) {
if (noRefAgreed == null || !noRefAgreed) {
view.showNoReferenceAlert();
return;
}
reviewCompletionState = reviewCompletionState.newBuilder()
.noRefAgreed(true)
.build();
}
if (!reviewCompletionState.termsAndConditionsAgreed()) {
if (termsAndConditionsAgreed == null || !termsAndConditionsAgreed) {
view.showTermsDisclaimerAlert();
return;
}
reviewCompletionState = reviewCompletionState.newBuilder()
.termsAndConditionsAgreed(true)
.build();
}
createOrder();
}
Ich würde gerne wissen, ob es einen Weg gibt, diese Validierung einfacher mit RxJava2 zu machen? (Aber nicht wissen, zur Zeit genug, um der Lage sein, dies zu tun)
TIA
Dank! Ich möchte nicht unbedingt, dass das automatische Zeugs mit dem Textwechsel usw. nur validiert werden soll, wenn der Benutzer auf die Bestätigungsschaltfläche klickt (weil ich nicht überprüfen möchte, ob ich die Warndialogfelder bis dahin öffnen soll) –
Dann setzen Sie den Mähdrescher spätestens in die Bestätigungsschaltfläche –
Könnten Sie bitte ein kurzes Snippet teilen, wie das aussehen würde (wo mindestens einer der Dialoge angezeigt werden muss)? –