Может кто-нибудь сказать мне, как установить required
проверка на textInput
когда нажимаете кнопку Ok
?
В это время нажмите кнопку Ok
, затем я проверяю каждый TextInput
таким образом.
if self.name.text.strip() == "":
Но если в моей форме больше чем 50
полей, то это будет очень длинный код? Может кто-нибудь подскажет другой короткий способ установить required
проверку на TextInput
.
test.py
from kivy.uix.screenmanager import Screen
from kivy.app import App
from kivy.lang import Builder
from kivy.core.window import Window
from kivy.properties import ObjectProperty
from kivy.uix.textinput import TextInput
Window.size = (500, 330)
class FloatInput(TextInput):
def __init__(self, **kwargs):
super(FloatInput, self).__init__(**kwargs)
def on_text(self, instance, text):
if text !="":
print(text)
class TestScreen(Screen):
name = ObjectProperty(None)
clas = ObjectProperty(None)
def check_validation(self):
if self.name.text.strip() == "":
print("Name is blank")
elif self.clas.text.strip() == "":
print("clas is blank")
class Test(App):
def build(self):
self.root = Builder.load_file('test.kv')
return self.root
if __name__ == '__main__':
Test().run()
test.kv
#:kivy 1.10.0
TestScreen:
name:name
clas:clas
GridLayout:
cols: 2
padding : 30,30
spacing: 10, 10
row_default_height: '40dp'
Label:
text: 'Name'
FloatInput:
id: name
Label:
text: 'Class'
FloatInput:
id: clas
Button:
text: 'Ok'
on_release: root.check_validation()
Button:
text: 'Cancel'