fix(auth): improve password form autocomplete
This commit is contained in:
1 parent
1a7fd11eee
commit
8ae004b466
5 files changed
+69
-18
No files matched your search
@@ -139,8 +139,13 @@ onUnmounted(() => {
|
|||||||
<NFormItem label="邮箱">
|
<NFormItem label="邮箱">
|
||||||
<NInput
|
<NInput
|
||||||
v-model:value="email"
|
v-model:value="email"
|
||||||
required
|
type="text"
|
||||||
autocomplete="email"
|
:input-props="{
|
||||||
|
autocomplete: 'email',
|
||||||
|
inputmode: 'email',
|
||||||
|
name: 'email',
|
||||||
|
required: true,
|
||||||
|
}"
|
||||||
placeholder="your@email.com"
|
placeholder="your@email.com"
|
||||||
/>
|
/>
|
||||||
</NFormItem>
|
</NFormItem>
|
||||||
|
|||||||
@@ -79,8 +79,13 @@ async function handleLogin() {
|
|||||||
<NFormItem label="邮箱">
|
<NFormItem label="邮箱">
|
||||||
<NInput
|
<NInput
|
||||||
v-model:value="email"
|
v-model:value="email"
|
||||||
required
|
type="text"
|
||||||
autocomplete="email"
|
:input-props="{
|
||||||
|
autocomplete: 'username',
|
||||||
|
inputmode: 'email',
|
||||||
|
name: 'username',
|
||||||
|
required: true,
|
||||||
|
}"
|
||||||
placeholder="your@email.com"
|
placeholder="your@email.com"
|
||||||
/>
|
/>
|
||||||
</NFormItem>
|
</NFormItem>
|
||||||
@@ -89,9 +94,12 @@ async function handleLogin() {
|
|||||||
<NInput
|
<NInput
|
||||||
v-model:value="password"
|
v-model:value="password"
|
||||||
type="password"
|
type="password"
|
||||||
required
|
|
||||||
show-password-on="click"
|
show-password-on="click"
|
||||||
autocomplete="current-password"
|
:input-props="{
|
||||||
|
autocomplete: 'current-password',
|
||||||
|
name: 'current-password',
|
||||||
|
required: true,
|
||||||
|
}"
|
||||||
placeholder="输入密码"
|
placeholder="输入密码"
|
||||||
/>
|
/>
|
||||||
</NFormItem>
|
</NFormItem>
|
||||||
|
|||||||
@@ -105,8 +105,11 @@ async function handleRegister() {
|
|||||||
<NInput
|
<NInput
|
||||||
v-model:value="username"
|
v-model:value="username"
|
||||||
type="text"
|
type="text"
|
||||||
required
|
:input-props="{
|
||||||
autocomplete="username"
|
autocomplete: 'username',
|
||||||
|
name: 'username',
|
||||||
|
required: true,
|
||||||
|
}"
|
||||||
placeholder="你的昵称"
|
placeholder="你的昵称"
|
||||||
maxlength="20"
|
maxlength="20"
|
||||||
/>
|
/>
|
||||||
@@ -115,8 +118,13 @@ async function handleRegister() {
|
|||||||
<NFormItem label="邮箱">
|
<NFormItem label="邮箱">
|
||||||
<NInput
|
<NInput
|
||||||
v-model:value="email"
|
v-model:value="email"
|
||||||
required
|
type="text"
|
||||||
autocomplete="email"
|
:input-props="{
|
||||||
|
autocomplete: 'email',
|
||||||
|
inputmode: 'email',
|
||||||
|
name: 'email',
|
||||||
|
required: true,
|
||||||
|
}"
|
||||||
placeholder="your@email.com"
|
placeholder="your@email.com"
|
||||||
/>
|
/>
|
||||||
</NFormItem>
|
</NFormItem>
|
||||||
@@ -125,9 +133,12 @@ async function handleRegister() {
|
|||||||
<NInput
|
<NInput
|
||||||
v-model:value="password"
|
v-model:value="password"
|
||||||
type="password"
|
type="password"
|
||||||
required
|
|
||||||
show-password-on="click"
|
show-password-on="click"
|
||||||
autocomplete="new-password"
|
:input-props="{
|
||||||
|
autocomplete: 'new-password',
|
||||||
|
name: 'new-password',
|
||||||
|
required: true,
|
||||||
|
}"
|
||||||
placeholder="至少8位"
|
placeholder="至少8位"
|
||||||
/>
|
/>
|
||||||
</NFormItem>
|
</NFormItem>
|
||||||
@@ -136,9 +147,12 @@ async function handleRegister() {
|
|||||||
<NInput
|
<NInput
|
||||||
v-model:value="confirmPassword"
|
v-model:value="confirmPassword"
|
||||||
type="password"
|
type="password"
|
||||||
required
|
|
||||||
show-password-on="click"
|
show-password-on="click"
|
||||||
autocomplete="new-password"
|
:input-props="{
|
||||||
|
autocomplete: 'new-password',
|
||||||
|
name: 'confirm-new-password',
|
||||||
|
required: true,
|
||||||
|
}"
|
||||||
placeholder="再次输入密码"
|
placeholder="再次输入密码"
|
||||||
/>
|
/>
|
||||||
</NFormItem>
|
</NFormItem>
|
||||||
|
|||||||
@@ -142,13 +142,24 @@ onUnmounted(() => {
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<NForm @submit.prevent="handleResetPassword">
|
<NForm @submit.prevent="handleResetPassword">
|
||||||
|
<input
|
||||||
|
type="text"
|
||||||
|
name="username"
|
||||||
|
autocomplete="username"
|
||||||
|
class="sr-only"
|
||||||
|
tabindex="-1"
|
||||||
|
aria-label="账户用户名"
|
||||||
|
/>
|
||||||
<NFormItem label="新密码">
|
<NFormItem label="新密码">
|
||||||
<NInput
|
<NInput
|
||||||
v-model:value="password"
|
v-model:value="password"
|
||||||
type="password"
|
type="password"
|
||||||
required
|
|
||||||
show-password-on="click"
|
show-password-on="click"
|
||||||
autocomplete="new-password"
|
:input-props="{
|
||||||
|
autocomplete: 'new-password',
|
||||||
|
name: 'new-password',
|
||||||
|
required: true,
|
||||||
|
}"
|
||||||
placeholder="至少 8 位"
|
placeholder="至少 8 位"
|
||||||
/>
|
/>
|
||||||
</NFormItem>
|
</NFormItem>
|
||||||
@@ -157,9 +168,12 @@ onUnmounted(() => {
|
|||||||
<NInput
|
<NInput
|
||||||
v-model:value="confirmPassword"
|
v-model:value="confirmPassword"
|
||||||
type="password"
|
type="password"
|
||||||
required
|
|
||||||
show-password-on="click"
|
show-password-on="click"
|
||||||
autocomplete="new-password"
|
:input-props="{
|
||||||
|
autocomplete: 'new-password',
|
||||||
|
name: 'confirm-new-password',
|
||||||
|
required: true,
|
||||||
|
}"
|
||||||
placeholder="再次输入新密码"
|
placeholder="再次输入新密码"
|
||||||
/>
|
/>
|
||||||
</NFormItem>
|
</NFormItem>
|
||||||
|
|||||||
@@ -149,6 +149,16 @@ async function savePassword() {
|
|||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
<NForm class="grid gap-3" @submit.prevent="savePassword">
|
<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
|
<NInput
|
||||||
v-model:value="newPassword"
|
v-model:value="newPassword"
|
||||||
type="password"
|
type="password"
|
||||||
|
|||||||
Reference in new issue
Block a user