我正在尝试验证文本字段,以便当用户使用键盘书写时它只接受数字,但我不知道该怎么做。
我只想输入数字的文本字段示例:
self.cedula = TextField(label="Cedula", hint_text="Ingresar Cedula", border_radius=30, border_color="#820000", width=300, height=60)
编辑:我发现如何知道用户是否写了数字或字母,现在我的问题如下
我希望else中所有不是数字的东西都被消除,但是我找不到办法,声明字段值为空但整个字段都被清空了
我附上了功能
def validarNumeros(self, campo, pagee):
campo = campo
pagee = pagee
digitos = campo.value
if digitos.isdigit():
print("numero")
else:
print("letra")
self.cedula.value = ""
pagee.update()
测验是 pueda ayudar 和 estoy empezando con Flet。他参与了功能和组合事件的使用模式更改,但不允许使用任何数字或十进制数。附加说明,如果您需要输入或验证之前的数字,请执行以下操作。 Espero que te ayude,
import flet
from flet import Page, TextField
ultimo_valor_valido = ""
def validarNumeros(campo, pagina):
global ultimo_valor_valido
digitos = campo.value
if digitos == "":
ultimo_valor_valido = ""
else:
try:
float(digitos.replace(",", ""))
ultimo_valor_valido = digitos
except ValueError:
campo.value = ultimo_valor_valido
pagina.update()
def main(page: Page):
importe = TextField(label="Monto", height=37, on_change=lambda e: validarNumeros(importe, page))
page.add(importe)
flet.app(target=main)