Я пытаюсь создать программу, которая создаст учетную запись, проверит входные данные и поместит их в текстовый файл.Я был бы признателен, если бы вы могли просмотреть мой код.У меня проблема в том, что я не могу заставить всплывающее окно сообщения, когда в текстовое поле вводятся неверные данные.Я был бы очень благодарен, если бы вы могли показать, как отобразить окно сообщения, если ввод неправильный.
from tkinter import *
from tkinter import messagebox
valid1 = True
valid2 = True
valid3 = True
valid4 = True
valid5 = True
def saveCustomerDetails():
CustomerIDSave = CustomerIDVar.get()
CustomerIDSave = CustomerIDSave.ljust(25)
CustomerTitleSave = CustomerTitleVar.get()
CustomerTitleSave = CustomerTitleSave.ljust(25)
FirstNameSave = FirstNameVar.get()
FirstNameSave = FirstNameSave.ljust(25)
SurnameSave = SurnameVar.get()
SurnameSave = SurnameSave.ljust(25)
DOBSave = DOBVar.get()
DOBSave = DOBSave.ljust(25)
fileObject = open("CreateAccount.txt","a")
fileObject.write(CustomerIDSave + CustomerTitleSave + FirstNameSave + SurnameSave + DOBSave + "\n")
fileObject.close()
def checkID():
global valid1
CustomerID = CustomerIDVar.get()
if CustomerID.isdigit():
valid1 = True
elif CustomerID is "":
valid1 = True
else:
valid1 = False
if valid1 == False:
messagebox.showerror("Incorrect", "Incorrect CustomerID")
def checkTitle():
global valid2
CustomerTitle = CustomerTitleVar.get()
if CustomerTitle.isalpha():
valid2 = True
elif CustomerTitle is "":
valid2 = True
else:
valid2 = False
if valid2 == False:
messagebox.showerror("Incorrect", "Incorrect CustomerID")
def checkFirstName():
global valid3
FirstName = FirstNameVar.get()
if FirstName.isalpha():
valid3 = True
elif FirstName is "":
valid3 = True
else:
valid3 = False
if valid3 == False:
messagebox.showerror("Incorrect", "Incorrect CustomerID")
def checkSurname():
global valid4
Surname = SurnameVar.get()
if Surname.isalpha():
valid4 = True
elif Surname is "":
valid4 = True
else:
valid4 = False
if valid4 == False:
messagebox.showerror("Incorrect", "Incorrect CustomerID")
def checkDOB():
global valid5
DOB = DOBVar.get()
if DOB.isdigit():
valid5 = True
elif DOB is "":
valid5 = True
else:
valid5 = False
if valid5 == False:
messagebox.showerror("Incorrect", "Incorrect CustomerID")
def makeWindow():
global CustomerIDVar, CustomerTitleVar, FirstNameVar, SurnameVar, DOBVar
win = Tk()
win.geometry("700x300")
frame1 = Frame(win)
frame1.pack(side = LEFT)
Label(frame1, text = "Create Account", font = ("Helvetica 12 bold")).grid(row = 0, column = 0)
Label(frame1, text="Customer ID").grid(row=1, column=0, sticky=W)
CustomerIDVar = StringVar()
CustomerID = Entry(frame1, textvariable = CustomerIDVar)
CustomerID.grid(row=1,column=1,sticky=W)
Label(frame1, text="Customer Title").grid(row=2, column=0, sticky=W)
CustomerTitleVar = StringVar()
CustomerTitle = Entry(frame1, textvariable = CustomerTitleVar)
CustomerTitle.grid(row=2,column=1,sticky=W)
Label(frame1, text="First Name").grid(row=3, column=0, sticky=W)
FirstNameVar = StringVar()
FirstName = Entry(frame1, textvariable = FirstNameVar)
FirstName.grid(row=3,column=1,sticky=W)
Label(frame1, text="Last Name").grid(row=4, column=0, sticky=W)
SurnameVar=StringVar()
Surname= Entry(frame1, textvariable=SurnameVar)
Surname.grid(row=4,column=1,sticky=W)
Label(frame1, text="Date Of Birth").grid(row=5, column=0, sticky=W)
DOBVar=StringVar()
DOB = Entry(frame1, textvariable=DOBVar)
DOB.grid(row=5,column=1,sticky=W)
frame2 = Frame(win)
frame2.pack()
b1= Button(frame2, text="Submit", command=saveCustomerDetails)
b1.pack(side = LEFT)
return win
win = makeWindow()
win.mainloop()