@@ -5,23 +5,26 @@ import { useUserStore } from '../store/user'
5
5
const router = useRouter ()
6
6
const store = useUserStore ()
7
7
8
- const submit = (values : Record <string , any >) => {
8
+ const submit = async (values : Record <string , string >) => {
9
9
store .setUserInfo (values .email , values .password )
10
- router .push (' /myPage' )
10
+ await router .push (' /myPage' )
11
11
}
12
12
</script >
13
13
14
14
<template >
15
15
<div class =" login-page" >
16
16
<div class =" form" >
17
- <h1 data-testid = " page-title " >
17
+ <h1 >
18
18
Login
19
19
</h1 >
20
20
<div class =" login-form" >
21
21
<!-- FormコンポーネントはデフォルトでhandleSubmitを使用して、submitイベントを処理します。 -->
22
22
<!-- そのため、submitイベント発火時に全項目のバリデーションチェックが同時に実行されます。 -->
23
23
<!-- 詳細はこちらのhandleSubmitをご参照ください https://vee-validate.logaretm.com/v4/api/form/#slots -->
24
- <Form v-slot =" { meta, isSubmitting }" data-testid =" validation-form" @submit =" submit" >
24
+ <Form
25
+ v-slot =" { meta, isSubmitting }"
26
+ @submit =" submit"
27
+ >
25
28
<div class =" field" >
26
29
<Field
27
30
rules =" required|email"
@@ -30,9 +33,12 @@ const submit = (values: Record<string, any>) => {
30
33
type =" text"
31
34
class =" form-text"
32
35
placeholder =" email"
33
- data-testid =" input-email"
34
36
/>
35
- <ErrorMessage name =" email" class =" message invalid" data-testid =" email-error-msg" />
37
+ <ErrorMessage
38
+ name =" email"
39
+ data-testid =" email-error-msg"
40
+ class =" message invalid"
41
+ />
36
42
</div >
37
43
<div class =" field" >
38
44
<Field
@@ -42,19 +48,22 @@ const submit = (values: Record<string, any>) => {
42
48
type =" text"
43
49
class =" form-text"
44
50
placeholder =" password"
45
- data-testid =" input-password"
46
51
/>
47
- <ErrorMessage name =" password" class =" message invalid" data-testid =" password-error-msg" />
52
+ <ErrorMessage
53
+ name =" password"
54
+ data-testid =" password-error-msg"
55
+ class =" message invalid"
56
+ />
48
57
</div >
49
58
<div class =" field" >
50
59
<!-- フォームの送信処理が実行中の場合は, isSubmittingはtrueを返す -->
51
60
<!-- すべての項目に有効な値が入力された場合は、meta.validはtrueを返す -->
52
61
<!-- 詳細に関してはこちらを参照ください https://vee-validate.logaretm.com/v4/api/use-form/#api-reference -->
53
62
<button
54
63
:disabled =" isSubmitting || !meta.valid"
55
- :class =" { 'btn-disabled' : isSubmitting || !meta.valid}"
56
- class =" form-submit"
64
+ :class =" { 'btn-disabled': isSubmitting || !meta.valid }"
57
65
data-testid =" submit-btn"
66
+ class =" form-submit"
58
67
>
59
68
Submit
60
69
</button >
@@ -86,10 +95,12 @@ const submit = (values: Record<string, any>) => {
86
95
padding : 15px ;
87
96
width : 100% ;
88
97
}
98
+
89
99
.form .form-submit.btn-disabled {
90
100
background : #858585 ;
91
101
cursor : not-allowed ;
92
102
}
103
+
93
104
.form .form-submit {
94
105
background : #000000 ;
95
106
border : 0 ;
@@ -100,6 +111,7 @@ const submit = (values: Record<string, any>) => {
100
111
padding : 15px ;
101
112
width : 100% ;
102
113
}
114
+
103
115
.form button :hover ,.form button :active ,.form button :focus {
104
116
background : #2a2a2a ;
105
117
}
0 commit comments