ここで tkinter エントリの検証に関するいくつかの質問を見てきましたが、それぞれがvalidate="key"
オプションに固執しているようです。
これはインタラクティブな検証には最適ですが、私が欲しいのは"focusout"
検証です。
より具体的には、メールフィールドを検証しようとしています。これまでに試したコードは次のとおりですが、機能しません。
import Tkinter as tk
import re
master = tk.Tk()
def validateEmail(P):
x = re.match(r"[^@]+@[^@]+\.[^@]+", P)
return (x != None)
vcmd = (master.register(validateEmail), '%P')
emailentry = tk.Entry(master, validate="focusout", validatecommand=vcmd)
emailentry.pack()
b = tk.Button(master, text="Login")
b.pack()
tk.mainloop()
メールエントリを検証する方法について何かアイデアはありますか?