fix(auth): improve password form autocomplete

This commit is contained in:
2026-07-28 23:27:59 +08:00
parent 1a7fd11eee
commit 8ae004b466
5 changed files with 69 additions and 18 deletions
+7 -2
View File
@@ -139,8 +139,13 @@ onUnmounted(() => {
<NFormItem label="邮箱">
<NInput
v-model:value="email"
required
autocomplete="email"
type="text"
:input-props="{
autocomplete: 'email',
inputmode: 'email',
name: 'email',
required: true,
}"
placeholder="your@email.com"
/>
</NFormItem>
+12 -4
View File
@@ -79,8 +79,13 @@ async function handleLogin() {
<NFormItem label="邮箱">
<NInput
v-model:value="email"
required
autocomplete="email"
type="text"
:input-props="{
autocomplete: 'username',
inputmode: 'email',
name: 'username',
required: true,
}"
placeholder="your@email.com"
/>
</NFormItem>
@@ -89,9 +94,12 @@ async function handleLogin() {
<NInput
v-model:value="password"
type="password"
required
show-password-on="click"
autocomplete="current-password"
:input-props="{
autocomplete: 'current-password',
name: 'current-password',
required: true,
}"
placeholder="输入密码"
/>
</NFormItem>
+22 -8
View File
@@ -105,8 +105,11 @@ async function handleRegister() {
<NInput
v-model:value="username"
type="text"
required
autocomplete="username"
:input-props="{
autocomplete: 'username',
name: 'username',
required: true,
}"
placeholder="你的昵称"
maxlength="20"
/>
@@ -115,8 +118,13 @@ async function handleRegister() {
<NFormItem label="邮箱">
<NInput
v-model:value="email"
required
autocomplete="email"
type="text"
:input-props="{
autocomplete: 'email',
inputmode: 'email',
name: 'email',
required: true,
}"
placeholder="your@email.com"
/>
</NFormItem>
@@ -125,9 +133,12 @@ async function handleRegister() {
<NInput
v-model:value="password"
type="password"
required
show-password-on="click"
autocomplete="new-password"
:input-props="{
autocomplete: 'new-password',
name: 'new-password',
required: true,
}"
placeholder="至少8位"
/>
</NFormItem>
@@ -136,9 +147,12 @@ async function handleRegister() {
<NInput
v-model:value="confirmPassword"
type="password"
required
show-password-on="click"
autocomplete="new-password"
:input-props="{
autocomplete: 'new-password',
name: 'confirm-new-password',
required: true,
}"
placeholder="再次输入密码"
/>
</NFormItem>
+18 -4
View File
@@ -142,13 +142,24 @@ onUnmounted(() => {
</div>
<NForm @submit.prevent="handleResetPassword">
<input
type="text"
name="username"
autocomplete="username"
class="sr-only"
tabindex="-1"
aria-label="账户用户名"
/>
<NFormItem label="新密码">
<NInput
v-model:value="password"
type="password"
required
show-password-on="click"
autocomplete="new-password"
:input-props="{
autocomplete: 'new-password',
name: 'new-password',
required: true,
}"
placeholder="至少 8 位"
/>
</NFormItem>
@@ -157,9 +168,12 @@ onUnmounted(() => {
<NInput
v-model:value="confirmPassword"
type="password"
required
show-password-on="click"
autocomplete="new-password"
:input-props="{
autocomplete: 'new-password',
name: 'confirm-new-password',
required: true,
}"
placeholder="再次输入新密码"
/>
</NFormItem>
+10
View File
@@ -149,6 +149,16 @@ async function savePassword() {
</p>
</div>
<NForm class="grid gap-3" @submit.prevent="savePassword">
<input
:value="authStore.user?.email || ''"
type="text"
name="username"
autocomplete="username"
class="sr-only"
tabindex="-1"
aria-label="账户邮箱"
readonly
/>
<NInput
v-model:value="newPassword"
type="password"