74
74
from prompt_toolkit .lexers import DynamicLexer , Lexer
75
75
from prompt_toolkit .mouse_events import MouseEvent , MouseEventType
76
76
from prompt_toolkit .utils import get_cwidth
77
+ from prompt_toolkit .validation import DynamicValidator , Validator
77
78
78
79
from .toolbars import SearchToolbar
79
80
@@ -139,6 +140,8 @@ class TextArea:
139
140
:param focus_on_click: When `True`, focus after mouse click.
140
141
:param input_processors: `None` or a list of
141
142
:class:`~prompt_toolkit.layout.Processor` objects.
143
+ :param validator: `None` or a :class:`~prompt_toolkit.validation.Validator`
144
+ object.
142
145
143
146
Window attributes:
144
147
@@ -173,6 +176,7 @@ def __init__(
173
176
auto_suggest : Optional [AutoSuggest ] = None ,
174
177
completer : Optional [Completer ] = None ,
175
178
complete_while_typing : FilterOrBool = True ,
179
+ validator : Optional [Validator ] = None ,
176
180
accept_handler : Optional [BufferAcceptHandler ] = None ,
177
181
history : Optional [History ] = None ,
178
182
focusable : FilterOrBool = True ,
@@ -208,6 +212,7 @@ def __init__(
208
212
self .auto_suggest = auto_suggest
209
213
self .read_only = read_only
210
214
self .wrap_lines = wrap_lines
215
+ self .validator = validator
211
216
212
217
self .buffer = Buffer (
213
218
document = Document (text , 0 ),
@@ -217,6 +222,7 @@ def __init__(
217
222
complete_while_typing = Condition (
218
223
lambda : is_true (self .complete_while_typing )
219
224
),
225
+ validator = DynamicValidator (lambda : self .validator ),
220
226
auto_suggest = DynamicAutoSuggest (lambda : self .auto_suggest ),
221
227
accept_handler = accept_handler ,
222
228
history = history ,
0 commit comments