在tkinter输入框中验证日期

时间:2014-03-20 19:08:08

标签: python tkinter

您好我想确保用户只能在输入框中输入日期。我熟悉数据库中的通配符搜索,因此我尝试了这个;

from tkinter import *
window=Tk()

def Validate():
    if Entry1.get() == ('**/**/****'):
        window2=Tk()
        label2= Label(window2,text = 'Successful')
        label2.pack()
    else:
        window3=Tk()
        label3 = Label(window3,text = 'Failed')
        label3.pack()

Entry1 = Entry(window)
Entry1.pack()


label1 = Label(window, text = "Please enter date")
label1.pack()

submitbutton = Button(window, text = "Submit")
submitbutton.pack()

submitbutton.configure(command=Validate)

但显然这不起作用,任何想法? 感谢

1 个答案:

答案 0 :(得分:0)

如果你想要真正的验证,那么它将比一条线做更多的工作。你想要两件事:数字和过去的实际日期。对于位数,我将split()用户的日期字符串放入列表中,然后遍历每个项目,检查每个项目是否为1)整数,并且2)具有{{1 2。

在验证日期格式之后,您可以使用Python的len()模块(http://docs.python.org/3.2/library/time.html)检查它是否是以前存在的日期。在此示例中,timesystemDate对象中的当前时间,您可以将userDate设置为具有struct_time函数的相同类型的对象,以进行比较检查:

strptime

希望有所帮助。