From 56d3945a9791f4b3d280d4dfb3353d0265a1dee0 Mon Sep 17 00:00:00 2001 From: JackyHsu-X Date: Wed, 28 Oct 2026 18:02:31 +0300 Subject: [PATCH] Document disabling validation in a prompt session --- docs/pages/asking_for_input.rst | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/docs/pages/asking_for_input.rst b/docs/pages/asking_for_input.rst index 83da97aea..975be1958 100644 --- a/docs/pages/asking_for_input.rst +++ b/docs/pages/asking_for_input.rst @@ -556,6 +556,30 @@ not by returning a boolean. cursor position is not possible this way. +Changing validation in a session +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +A :class:`~prompt_toolkit.shortcuts.PromptSession` remembers the validator passed +to :meth:`~prompt_toolkit.shortcuts.PromptSession.prompt` for subsequent prompts. +Passing ``validator=None`` keeps the current validator; it does not disable +validation. Pass a :class:`~prompt_toolkit.validation.DummyValidator` to accept +any input, including an empty string: + +.. code:: python + + from prompt_toolkit import PromptSession + from prompt_toolkit.validation import DummyValidator, Validator + + session = PromptSession() + required = Validator.from_callable(bool, error_message="Please enter a value") + + name = session.prompt("Name (required): ", validator=required) + nickname = session.prompt("Nickname (optional): ", validator=DummyValidator()) + +The ``DummyValidator`` also remains active for subsequent prompts. Pass the +original validator again when validation is needed. + + History -------