Как убрать сообщение об ошибке в textfield KIVYMD?
В документации kivymd показано как сделать ошибку в textfield, но не показано как её убрать, т. е. ввел пользователь буквы вместо цифр, ему вылезает ошибка об этом, однако потом она не исчезает: поле так и остается красным. Объясните как это можно убрать?
from kivy.lang import Builder
from kivymd.app import MDApp
KV = '''
BoxLayout:
padding: "10dp"
MDTextField:
id: text_field_error
hint_text: "Helper text on error (press 'Enter')"
helper_text: "There will always be a mistake"
helper_text_mode: "on_error"
pos_hint: {"center_y": .5}
'''
class Test(MDApp):
def __init__(self, **kwargs):
super().__init__(**kwargs)
self.screen = Builder.load_string(KV)
def build(self):
self.screen.ids.text_field_error.bind(
on_text_validate=self.set_error_message,
on_focus=self.set_error_message,
)
return self.screen
def set_error_message(self, instance_textfield):
self.screen.ids.text_field_error.error = True
Test().run()
Ответы (1 шт):
Автор решения: milssky
→ Ссылка
В документации сказано, что для того, чтобы отобразить ошибку, нужно установить параметра error у TextField в True. Что у вас и сделано в функции set_error_message. Чтобы убрать, нужно параметр self.screen.ids.text_field_error.error сделать False.
self.screen.ids.text_field_error.error = False
Логику обработки ошибок вам придется сделать самостоятельно.