You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Tkinter注册界面添加密码长度与无空格验证?

密码验证规则实现方案

直接在你的注册按钮点击函数中添加密码长度和空格检查逻辑,修改后的完整代码如下:

def sign_up_clicked_r():
    global inv_user_r
    global inv_pass_r
    global alr_user_r
    user_r = user_entry_r.get()
    password_r = password_entry_r.get()

    if not user_r and not password_r:
        inv_user_r = canvas.create_text(
            252.0, 259.0, text="Username cannot be empty!", fill="#9f0000",
            font=("Poppins Regular", int(11.0 * -1.1)), anchor="nw")
        inv_pass_r = canvas.create_text(
            252.0, 340.0, text="Password cannot be empty!", fill="#9f0000",
            font=("Poppins Regular", int(11.0 * -1.1)), anchor="nw")
        canvas.after(1750, clear_inv_r)
        return
    if user_r and not password_r:
        inv_pass_r = canvas.create_text(
            252.0, 340.0, text="Password cannot be empty!", fill="#9f0000",
            font=("Poppins Regular", int(11.0 * -1.1)), anchor="nw")
        canvas.after(1750, clear_invp_r)
        return
    if not user_r and password_r:
        inv_user_r = canvas.create_text(
            252.0, 259.0, text="Username cannot be empty!", fill="#9f0000",
            font=("Poppins Regular", int(11.0 * -1.1)), anchor="nw")
        canvas.after(1750, clear_invu_r)
        return

    # 新增密码验证逻辑
    password_valid = True
    # 检查密码长度是否至少8位
    if len(password_r) < 8:
        inv_pass_r = canvas.create_text(
            252.0, 340.0, text="Password must be at least 8 characters!", fill="#9f0000",
            font=("Poppins Regular", int(11.0 * -1.1)), anchor="nw")
        canvas.after(1750, clear_invp_r)
        password_valid = False
    # 检查密码是否包含空格
    if ' ' in password_r:
        # 避免重叠提示,仅在之前无错误时显示空格错误
        if password_valid:
            inv_pass_r = canvas.create_text(
                252.0, 340.0, text="Password cannot contain spaces!", fill="#9f0000",
                font=("Poppins Regular", int(11.0 * -1.1)), anchor="nw")
            canvas.after(1750, clear_invp_r)
            password_valid = False
    # 验证不通过则终止后续流程
    if not password_valid:
        return

    # 此处可添加注册成功后的逻辑(如保存用户信息等)

关键说明:

  • 用len(password_r) < 8判断密码长度是否不足8位
  • 用' ' in password_r检查密码中是否包含空格
  • 通过password_valid变量控制提示显示,避免同一位置出现重叠错误信息
  • 验证失败时直接返回,阻止后续注册流程执行

内容的提问来源于stack exchange,提问作者user20733481

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.08 16:25:27