質問編集履歴
2
ごじ
title
CHANGED
File without changes
|
body
CHANGED
@@ -77,6 +77,8 @@
|
|
77
77
|
],
|
78
78
|
};
|
79
79
|
|
80
|
+
```
|
81
|
+
|
80
82
|
### 補足
|
81
83
|
useFormでonSubmitを指定するとバリデーション後に実行される関数を指定できるとのことで、以下まで書いてみました。こちらで値設定、エラーハンドリングができる方法があればこちらでの解決法をご教示ください。
|
82
84
|
|
1
修正案の補足
title
CHANGED
File without changes
|
body
CHANGED
@@ -78,4 +78,28 @@
|
|
78
78
|
};
|
79
79
|
|
80
80
|
### 補足
|
81
|
+
useFormでonSubmitを指定するとバリデーション後に実行される関数を指定できるとのことで、以下まで書いてみました。こちらで値設定、エラーハンドリングができる方法があればこちらでの解決法をご教示ください。
|
82
|
+
|
83
|
+
```tsx
|
84
|
+
const [form, fields] = useForm({
|
85
|
+
lastResult: actionData?.lastResult,
|
86
|
+
onValidate({ formData }) {
|
87
|
+
return parseWithZod(formData, { schema: UserSchema });
|
88
|
+
},
|
89
|
+
shouldValidate: "onBlur",
|
90
|
+
shouldRevalidate: "onBlur",
|
91
|
+
onSubmit: afterDoing,
|
81
|
-
|
92
|
+
});
|
93
|
+
|
94
|
+
async function afterDoing() {
|
95
|
+
if (typeof window !== "undefined" && (window as any)._?.shuffle) {
|
96
|
+
const shuffled = (window as any)._?.shuffle([1, 2, 3, 4]);
|
97
|
+
setResult(`シャッフル結果: ${shuffled.join(", ")}`);
|
98
|
+
} else {
|
99
|
+
setResult("lodash がまだロードされていないか、関数が見つかりません");
|
100
|
+
}
|
101
|
+
|
102
|
+
// TODO:ここで値セットできるか?
|
103
|
+
// TODO:エラー対応もしたい、エラー設定方法は?
|
104
|
+
};
|
105
|
+
```
|