Hacktoberfest 2026: as issues que os mantenedores marcaram para outubro, abertas e boas para iniciantes. Ver issues do Hacktoberfest

`PromptSession.prompt()` ignores `validator=None`

Aberta Para iniciantes
#2,159 0 comentários 0 reações 0 responsáveis Ver no GitHub

Mantenedores costumam responder em até 1 dia

@cumminskd já está trabalhando nisso.

Desde 28/10/2026.

  • #2161 de @JackyHsu-X — aberto
  • #2162 de @cumminskd — aberto

Avaliação

Dificuldade
2/5
Tempo estimado
1-3 horas
Facilidade para iniciantes
68/100
Tipo de issue
Bug
Clareza
Razoavelmente clara
Status de atividade
Ativa
Stack de tecnologia
python
Domínio
cli

Direção de pesquisa

Comece lendo PromptSession.prompt() e como ele trata o argumento validator; em seguida, examine os testes relacionados à validação do prompt e a chamadas repetidas. Reproduza o exemplo com um validador seguido de validator=None; o trabalho estará concluído quando o segundo prompt aceitar uma entrada vazia sem alterar diretamente session.validator.

Escrita pelo modelo de indexação a partir do texto da issue.

Descrição

When set a validator with validator arg of PromptSession.prompt(), unable to drop it on a next call with validator=None arg. validator=some_other_validator works.

Example:

import prompt_toolkit

session = prompt_toolkit.PromptSession()

not_empty_validator = prompt_toolkit.validation.Validator.from_callable(lambda x: x)
session.prompt('Obligatory: ', validator=not_empty_validator)
# OK: "Invalid input" on empty line
session.prompt('Obligatory: ', validator=None)
# BAD: validator is still here
session.validator = None
session.prompt('Obligatory: ')
# OK: takes empty

prompt_toolkit==3.0.53
Python==3.15.0

Linguagem predominante
Python
Estrelas
10.6k
Forks
837
Merge médio
15h 43min
PRs com merge (30d)
1

Preparar o ambiente

Este projeto não oferece contêiner de desenvolvimento, Dockerfile nem guia de contribuição, então a configuração fica por sua conta: comece pelo README e veja nosso guia da primeira contribuição para os passos gerais.

Primeiros passos

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Mais de prompt-toolkit/python-prompt-toolkit

Todas as issues de prompt-toolkit/python-prompt-toolkit

Issues semelhantes

Mais issues de Python

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.