In einem Dialog möchte ich den Benutzer nach seiner E-Mail-Adresse fragen. Wenn der Benutzer irrtümlich eine ungültige E-Mail-Adresse eingegeben hat, möchte ich in der Lage sein, in eine "Loop" -Situation zurückzukehren und ihn nach seiner E-Mail zu fragen, bis er eine gültige E-Mail-Adresse eingibt. Was ist der beste Weg, dies zu erreichen? Ich konnte keine Möglichkeit finden, einen Schritt in einem Wasserfall Dialog zurückzugehen.Können Sie in einem Wasserfalldialog einen Schritt zurückgehen, wenn der Benutzer falsche Daten eingegeben hat? #botframework
4
A
Antwort
3
Sie können anrufen, next({ resumed: builder.ResumeReason.back })
, aber es gibt tatsächlich eine bessere Möglichkeit zu tun, was Sie versuchen zu tun.
In der neuesten v0.8.0-Version der Bibliothek habe ich eine neue DialogAction.validatedPrompt()
Aktion hinzugefügt, mit der Sie eine neue Eingabeaufforderung mit einer benutzerdefinierten Validierungsroutine erstellen können. Damit können Sie Ihren '/ emailPrompt' Dialog anstelle von Prompts.text() aufrufen und Sie müssen nicht rückwärts gehen. Sehen Sie sich das Beispiel basics-validedPrompt an, um es in Aktion zu sehen.
Verwandte Themen
- 1. anzeigen Schaltflächen Benutzer in botframework auszuwählen
- 2. So verbinden Sie einen Benutzer von Google Signin mit einem anderen Benutzer, der sich angemeldet hat
- 3. Daten eingegeben von Benutzer und App-Update
- 4. Daten Schritt für Schritt laden
- 5. Wie kann man feststellen, welcher Benutzer bestimmten Datenzugriff eingegeben hat?
- 6. Überspringungsvalidierung beim Zurückgehen in SmartWizard
- 7. Wie erkennt man, wenn der Benutzer Informationen in einer Android App eingegeben hat?
- 8. So scrollen Sie zum gefundenen Wort, das der Benutzer in das Suchdialogfeld eingegeben hat
- 9. Warum hat der aktuelle Benutzer keine Daten?
- 10. MS Botframework - Builder.Prompts.Choice - Wie reagiert man, wenn Benutzer etwas nicht in der Liste eingibt?
- 11. Wie überprüft man, ob der Benutzer einen eindeutigen Wert für eine DataGridViewColumn eingegeben hat?
- 12. Wie werden die JSON-Daten zugeordnet, wenn der Benutzer falsche Details eingibt?
- 13. Senden Sie nicht, wenn nicht alle Daten eingegeben werden
- 14. Zurückgehen der Navigation nach Benachrichtigungszugriff zulassen
- 15. Abfragen durchführen, ohne zu wissen, was der Benutzer eingegeben hat (SQL, PHP)
- 16. Magento - Benutzer können andere Daten sehen
- 17. Wie können Benutzer über einen anderen Benutzer benachrichtigt werden?
- 18. eingeloggte Benutzer können auf Daten anderer Benutzer zugreifen
- 19. CF-Abfragen mit Formularvariablen, die von einem Benutzer eingegeben wurden
- 20. wie die Daten gespeichert werden, die der Benutzer nach dem Ausführen des Skripts auf der Formularseite eingegeben hat?
- 21. Fehler an Benutzer zurückgeben, wenn Benutzer falsche Option in Python-Baum eingeben
- 22. DTS die SQL-Anweisung für einen Schritt in einem anderen Schritt setzen
- 23. Wie können die Formularfeldwerte auf derselben Seite ausgedruckt werden, nachdem der Benutzer den Befehl submit eingegeben hat?
- 24. Filtern von Zeichen eingegeben in einem UITextField
- 25. Facebook Messenger Postback ohne Benutzer Senden von Werten: Wie erkennen Benutzer Chat eingegeben hat?
- 26. Wie kann ich verfolgen, wer einen Kommentar zu einem TFS-Arbeitselement eingegeben hat?
- 27. Wie viele Daten können/sollten Sie in einem Benutzersitzungsobjekt speichern?
- 28. Fehlermeldung nicht angezeigt, wenn der Benutzer falsche Informationen eingibt
- 29. Szenario Kontur zu erzeugen falsche Schritt Code
- 30. ungültig, wenn Sonderzeichen eingegeben
Wie in der Libray-Version 3.8, ist 'validedPrompt()' veraltet und Sie sollten 'session.replaceDialog ('dialogName', {reprompt: true});' stattdessen verwenden. Überprüfen Sie die [docs] (https://docs.microsoft.com/en-us/bot-framework/nodejs/bot-builder-nodejs-dialog-replace) als Referenz. – Srichakradhar