DemoFormValidationValidatingMultipleRules.vue
2.03 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
<script lang="ts" setup>
import { VForm } from 'vuetify/components/VForm'
const name = ref()
const email = ref()
const refForm = ref<VForm>()
const password = ref()
const confirmPassword = ref()
const isPasswordVisible = ref(false)
const isConfirmPasswordVisible = ref(false)
</script>
<template>
<VForm
ref="refForm"
@submit.prevent="() => {}"
>
<VRow>
<VCol
cols="12"
md="6"
>
<VTextField
v-model="name"
label="Name"
placeholder="Your Name"
:rules="[requiredValidator]"
/>
</VCol>
<VCol
cols="12"
md="6"
>
<VTextField
v-model="email"
label="Email"
placeholder="Your Email"
:rules="[requiredValidator, emailValidator]"
/>
</VCol>
<VCol
cols="12"
md="6"
>
<VTextField
v-model="password"
label="Password"
:type="isPasswordVisible ? 'text' : 'password'"
:append-inner-icon="isPasswordVisible ? 'ri-eye-off-line' : 'ri-eye-line'"
placeholder="Enter Password"
:rules="[requiredValidator, passwordValidator]"
autocomplete="on"
@click:append-inner="isPasswordVisible = !isPasswordVisible"
/>
</VCol>
<VCol
cols="12"
md="6"
>
<VTextField
v-model="confirmPassword"
label="Confirm Password"
:type="isConfirmPasswordVisible ? 'text' : 'password'"
placeholder="Confirm Password"
:append-inner-icon="confirmPassword ? 'ri-eye-off-line' : 'ri-eye-line'"
:rules="[requiredValidator, confirmedValidator(confirmPassword, password)]"
autocomplete="on"
@click:append-inner="isConfirmPasswordVisible = !isConfirmPasswordVisible"
/>
</VCol>
<VCol cols="12">
<VBtn
type="submit"
@click="refForm?.validate()"
>
Submit
</VBtn>
</VCol>
</VRow>
</VForm>
</template>