Skip to content

Commit a65fb65

Browse files
committed
Better data formatting and consistant data return
1 parent 6d08859 commit a65fb65

File tree

6 files changed

+29
-19
lines changed

6 files changed

+29
-19
lines changed

Diff for: README.md

+1
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,7 @@ const CustomFormLayout = () => {
5353

5454
const onFinish = (values) => {
5555
console.log('values', values);
56+
// To show an error on the form, return a message as a string.
5657
};
5758

5859
return (

Diff for: package-lock.json

+12-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Diff for: package.json

+2-1
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,7 @@
7272
"react-dom": "^17.0.2",
7373
"react-router-dom": "^6.0.1",
7474
"react-scripts": "4.0.3",
75-
"tailwindcss": "npm:@tailwindcss/postcss7-compat@^2.2.17"
75+
"tailwindcss": "npm:@tailwindcss/postcss7-compat@^2.2.17",
76+
"react": "^16.8.6"
7677
}
7778
}

Diff for: src/App.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import { BrowserRouter, Routes, Route } from 'react-router-dom';
22
import ManagedForm from './examples/ManagedForm';
3-
import HookParent from './examples/hookForm/Parent';
3+
import HookParent from './examples/hookform/Parent';
44
import Layout from './examples/components/Layout';
55

66
function App() {

Diff for: src/examples/ManagedForm.js

+1-4
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,8 @@ import React from 'react';
22
import { FetchForm, FetchFormsProvider } from '../lib/index';
33

44
const ManagedForm = () => {
5-
const sleep = (ms) => new Promise((resolve) => setTimeout(resolve, ms));
6-
75
const onSubmit = async (values) => {
8-
await sleep(1000);
9-
// Your logic here
6+
/* return 'There was an error submitting the form'; */
107
console.log('return values', values);
118
};
129
return (

Diff for: src/lib/exports/components/FetchForm.js

+12-12
Original file line numberDiff line numberDiff line change
@@ -33,28 +33,28 @@ const FetchForm = ({ slug, showFormError, onSubmit }) => {
3333
const formattedValues = {
3434
...values
3535
};
36-
const keys = Object.keys(values);
37-
for (let i = 0; i < keys.length; i++) {
38-
if (typeof values[keys[i]] !== 'boolean' && !isNaN(values[keys[i]])) {
39-
formattedValues[keys[i]] = parseInt(values[keys[i]]);
36+
const valueKeys = Object.keys(values);
37+
38+
for (let i = 0; i < valueKeys.length; i++) {
39+
const fieldType = fetchForm.formItems.find(
40+
(item) => item.name === valueKeys[i]
41+
);
42+
43+
if (fieldType.type === 'number') {
44+
formattedValues[valueKeys[i]] = parseInt(values[valueKeys[i]]);
4045
} else {
41-
formattedValues[keys[i]] = values[keys[i]];
46+
formattedValues[valueKeys[i]] = values[valueKeys[i]];
4247
}
4348
}
4449

45-
if (fetchForm.cloudSave) {
46-
try {
50+
try {
51+
if (fetchForm.cloudSave) {
4752
const isSaved = await doCloudSubmit(fetchForm.id, formattedValues);
4853
if (!isSaved.success) {
4954
throw isSaved.message;
5055
}
51-
} catch (err) {
52-
console.log(err);
53-
setSubmitError(err);
5456
}
55-
}
5657

57-
try {
5858
const hasError = await onSubmit(formattedValues);
5959
if (hasError) {
6060
throw hasError;

0 commit comments

Comments
 (0)