Hacktoberfest 2026: những issue maintainer đã đánh dấu cho tháng Mười, đang mở và phù hợp người mới. Xem issue Hacktoberfest

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

Đang mở Phù hợp với người mới
#2,159 0 bình luận 0 reaction 0 người được giao Xem trên GitHub

Maintainer thường phản hồi trong vòng 1 ngày

@cumminskd đang làm issue này rồi.

Từ ngày 28/10/2026.

  • #2161 của @JackyHsu-X — đang mở
  • #2162 của @cumminskd — đang mở

Đánh giá

Độ khó
2/5
Thời gian dự kiến
1-3 giờ
Mức phù hợp với người mới
68/100
Loại issue
Lỗi
Độ rõ ràng
Khá rõ ràng
Mức độ hoạt động
Sôi nổi
Công nghệ
python
Lĩnh vực
cli

Hướng nghiên cứu

Bắt đầu bằng cách đọc PromptSession.prompt() và cách xử lý đối số validator, sau đó kiểm tra các bài kiểm thử liên quan đến việc xác thực prompt và các lần gọi lặp lại. Tái hiện ví dụ với một validator, rồi đến validator=None; hoàn thành khi prompt thứ hai chấp nhận đầu vào rỗng mà không trực tiếp thay đổi session.validator.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

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

Ngôn ngữ chính
Python
Star
10.6k
Fork
837
Merge trung bình
15 giờ 43 phút
Pull request đã merge (30 ngày)
1

Chuẩn bị môi trường

Dự án này không cung cấp dev container, Dockerfile hay hướng dẫn đóng góp, nên bạn cần tự thiết lập môi trường: hãy bắt đầu từ README và xem hướng dẫn đóng góp lần đầu của chúng tôi để biết các bước chung.

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của prompt-toolkit/python-prompt-toolkit

Tất cả issue của prompt-toolkit/python-prompt-toolkit

Issue tương tự

Thêm issue về Python

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.