diff --git a/src/features/profile/ProfilePage.tsx b/src/features/profile/ProfilePage.tsx index 3add68c..fa509d9 100644 --- a/src/features/profile/ProfilePage.tsx +++ b/src/features/profile/ProfilePage.tsx @@ -235,6 +235,9 @@ function ProfilePage({ const packageLabel = session?.user.activePackages?.[0]?.name || "按量积分"; const avatarUrl = session?.user.avatarUrl || localAvatarUrl || null; const displayedBio = profileBio.trim() || "这个人还没有填写个性签名"; + const emailLooksValid = /^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(email.trim()); + const phoneLooksValid = /^1[3-9]\d{9}$/.test(phone.trim()); + const passwordLooksReady = password.length >= (mode === "register" ? 6 : 1); useEffect(() => { setLocalAvatarUrl(session?.user.avatarUrl || readLocalProfileValue(userId, "avatar")); @@ -812,12 +815,30 @@ function ProfilePage({
一句话,从创意到成片
{mode === "login" ? "登录后继续你的 AI 创作之旅" : "注册即可免费体验全部功能"} @@ -868,7 +890,8 @@ function ProfilePage({ 邮箱 { setAuthTab("phone"); setFieldErrors({}); }}> - 手机验证码 + + 手机 @@ -924,6 +947,11 @@ function ProfilePage({ autoComplete={mode === "login" ? "current-password" : "new-password"} /> {fieldErrors.password ? {fieldErrors.password} : null} + {mode === "register" && passwordLooksReady && !fieldErrors.password ? ( + + 密码长度符合要求 + + ) : null} {mode === "login" ? (