Как ограничить вызов делегата валидатора текстовой подсказки каждый раз при появлении подсказки? - PullRequest
1 голос
/ 27 мая 2020

У меня есть диалоговое окно водопада с 6 шагами, каждый из которых имеет текстовое приглашение для сбора пользовательского ввода.

Текстовое приглашение

self.add_dialog(TextPrompt(TextPrompt.__name__,ChoiceDialog.text_prompt_validator))
self.add_dialog(
        WaterfallDialog(
            WaterfallDialog.__name__,
            [
                self.project_step,     #TextPrompt
                self.description_step, #TextPrompt
                self.name_step,        #TextPrompt
                self.date_step,
                self.confirm_step,
                self.final_step,
            ],
        )
    ) 

Когда пользователь вводит значение, которое вызывается Validator, и у нас есть возможность проверить / изменить результат.

Но я не хочу, чтобы валидатор вызывался каждый раз, когда есть TextPrompt. Или, возможно, вызовите делегата валидатора с разными проверками для каждого шага.

Есть ли способ добиться этого?

1 Ответ

2 голосов
/ 28 мая 2020

Просто создайте несколько текстовых подсказок.

self.add_dialog(TextPrompt("prompt:project", ChoiceDialog.project_validator))
self.add_dialog(TextPrompt("prompt:description", ChoiceDialog.description_validator))
self.add_dialog(TextPrompt("prompt:name", ChoiceDialog.name_validator))
...