From c07a3db03f2735d8330361d057cc044439186fa2 Mon Sep 17 00:00:00 2001 From: jason-zhu Date: Sun, 22 Oct 2023 11:23:56 +1100 Subject: [PATCH] Working on Chap06 --- QandA/.vs/QandA/DesignTimeBuild/.dtbcache.v2 | Bin 0 -> 117402 bytes QandA/.vs/QandA/v16/.suo | Bin 12800 -> 24064 bytes QandA/frontend/.idea/.gitignore | 5 ++ QandA/frontend/.idea/codeStyles/Project.xml | 61 ++++++++++++++++++ .../.idea/codeStyles/codeStyleConfig.xml | 5 ++ QandA/frontend/.idea/frontend.iml | 12 ++++ .../inspectionProfiles/Project_Default.xml | 6 ++ QandA/frontend/.idea/modules.xml | 8 +++ QandA/frontend/.idea/vcs.xml | 6 ++ QandA/frontend/src/AskPage.tsx | 16 ++++- 10 files changed, 117 insertions(+), 2 deletions(-) create mode 100644 QandA/.vs/QandA/DesignTimeBuild/.dtbcache.v2 create mode 100644 QandA/frontend/.idea/.gitignore create mode 100644 QandA/frontend/.idea/codeStyles/Project.xml create mode 100644 QandA/frontend/.idea/codeStyles/codeStyleConfig.xml create mode 100644 QandA/frontend/.idea/frontend.iml create mode 100644 QandA/frontend/.idea/inspectionProfiles/Project_Default.xml create mode 100644 QandA/frontend/.idea/modules.xml create mode 100644 QandA/frontend/.idea/vcs.xml diff --git a/QandA/.vs/QandA/DesignTimeBuild/.dtbcache.v2 b/QandA/.vs/QandA/DesignTimeBuild/.dtbcache.v2 new file mode 100644 index 0000000000000000000000000000000000000000..b8737e976d7db2fdd083bec6852739553f02df61 GIT binary patch literal 117402 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 literal 0 HcmV?d00001 diff --git a/QandA/.vs/QandA/v16/.suo b/QandA/.vs/QandA/v16/.suo index c820f76dd61c70f178eab6fc00ac5334f9c8c5c1..5a85a6901524602a23f2bcbc71f604c68412eece 100644 GIT binary patch literal 24064 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 diff --git a/QandA/frontend/.idea/.gitignore b/QandA/frontend/.idea/.gitignore new file mode 100644 index 0000000..b58b603 --- /dev/null +++ b/QandA/frontend/.idea/.gitignore @@ -0,0 +1,5 @@ +# Default ignored files +/shelf/ +/workspace.xml +# Editor-based HTTP Client requests +/httpRequests/ diff --git a/QandA/frontend/.idea/codeStyles/Project.xml b/QandA/frontend/.idea/codeStyles/Project.xml new file mode 100644 index 0000000..7ba3bc0 --- /dev/null +++ b/QandA/frontend/.idea/codeStyles/Project.xml @@ -0,0 +1,61 @@ + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/QandA/frontend/.idea/codeStyles/codeStyleConfig.xml b/QandA/frontend/.idea/codeStyles/codeStyleConfig.xml new file mode 100644 index 0000000..79ee123 --- /dev/null +++ b/QandA/frontend/.idea/codeStyles/codeStyleConfig.xml @@ -0,0 +1,5 @@ + + + + \ No newline at end of file diff --git a/QandA/frontend/.idea/frontend.iml b/QandA/frontend/.idea/frontend.iml new file mode 100644 index 0000000..0c8867d --- /dev/null +++ b/QandA/frontend/.idea/frontend.iml @@ -0,0 +1,12 @@ + + + + + + + + + + + + \ No newline at end of file diff --git a/QandA/frontend/.idea/inspectionProfiles/Project_Default.xml b/QandA/frontend/.idea/inspectionProfiles/Project_Default.xml new file mode 100644 index 0000000..03d9549 --- /dev/null +++ b/QandA/frontend/.idea/inspectionProfiles/Project_Default.xml @@ -0,0 +1,6 @@ + + + + \ No newline at end of file diff --git a/QandA/frontend/.idea/modules.xml b/QandA/frontend/.idea/modules.xml new file mode 100644 index 0000000..f3d93d7 --- /dev/null +++ b/QandA/frontend/.idea/modules.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/QandA/frontend/.idea/vcs.xml b/QandA/frontend/.idea/vcs.xml new file mode 100644 index 0000000..b2bdec2 --- /dev/null +++ b/QandA/frontend/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/QandA/frontend/src/AskPage.tsx b/QandA/frontend/src/AskPage.tsx index 5e954e3..500d8e4 100644 --- a/QandA/frontend/src/AskPage.tsx +++ b/QandA/frontend/src/AskPage.tsx @@ -10,6 +10,7 @@ import { FieldTextArea, FormButtonContainer, PrimaryButton, + FieldError, } from './Styles'; type FormData = { @@ -18,7 +19,9 @@ type FormData = { }; export const AskPage = () => { - const { register } = useForm(); + const { register, errors } = useForm({ + mode: 'onBlur', + }); return (
@@ -26,11 +29,20 @@ export const AskPage = () => { Title + {errors.title && errors.title.type === 'required' && ( + You must enter the question title + )} + {errors.title && errors.title.type === 'minLength' && ( + The title must be at least 10 characters + )} Content