front > account : password form confirmation visually workin g

This commit is contained in:
isUnknown 2025-05-05 16:57:54 +02:00
parent 619e124fc4
commit 1e40c38805

View file

@ -7,7 +7,6 @@
<li :class="{ 'is-editing': isEditingEmail }"> <li :class="{ 'is-editing': isEditingEmail }">
<input <input
v-if="isEditingEmail" v-if="isEditingEmail"
@input="updateEmail"
type="email" type="email"
v-model="email" v-model="email"
id="username" id="username"
@ -25,14 +24,29 @@
</li> </li>
<li :class="{ 'is-editing': isEditingEmail }"> <li :class="{ 'is-editing': isEditingEmail }">
<input <input
@input="updatePassword"
type="password" type="password"
v-model="password" v-model="password"
id="password" id="password"
placeholder="Minimum 8 caractères"
class="w-full rounded-md border border-grey-200 px-16 py-12" class="w-full rounded-md border border-grey-200 px-16 py-12"
:class="{ invalid: password.length < 8 }" :class="{ invalid: password.length < 8 }"
required required
/> />
<input
type="password"
v-model="passwordConfirm"
id="password-confirm"
placeholder="Minimum 8 caractères"
class="w-full rounded-md border border-grey-200 px-16 py-12"
:class="{ invalid: !isPasswordConfirmed }"
required
/>
<button
class="btn | w-full"
:disabled="!isPasswordConfirmed ? true : undefined"
>
enregistrer
</button>
</li> </li>
<li> <li>
<p>Client : {{ user.client.name }}</p> <p>Client : {{ user.client.name }}</p>
@ -45,7 +59,7 @@
<script setup> <script setup>
import { storeToRefs } from 'pinia'; import { storeToRefs } from 'pinia';
import { useUserStore } from '../stores/user'; import { useUserStore } from '../stores/user';
import { ref, watch } from 'vue'; import { computed, ref, watch } from 'vue';
const { user } = storeToRefs(useUserStore()); const { user } = storeToRefs(useUserStore());
@ -54,10 +68,12 @@ const isEditingEmail = ref(false);
const emailRegex = /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/; const emailRegex = /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/;
const password = ref(''); const password = ref('');
const passwordConfirm = ref('');
function updateEmail(event) { const isPasswordConfirmed = computed(() => {
email.value = event.target.value; return (
} passwordConfirm.value.length > 0 && passwordConfirm.value === password.value
);
});
</script> </script>
<style scoped> <style scoped>