Python: adicione validação no formulário
Alguém pode me dizer que como definirrequired
validação emtextInput
quando clicar emOk
botão?
Neste momento, clique emOk
botão, então eu verifico cadaTextInput
Curtiu isso.if self.name.text.strip() == "":
Mas se meu formulário tiver mais de50
campos, então será um código muito longo? Alguém pode me dizer outra maneira curta de definirrequired
validação emTextInput
.
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'