From f55145b5cadf269e005d8c63ff38dce8cef8e7a9 Mon Sep 17 00:00:00 2001 From: Rykkel <220993G@mymail.nyp.edu.sg> Date: Tue, 13 Aug 2024 12:51:45 +0800 Subject: [PATCH] Extended character limit for post content --- client/src/components/CommentInputModule.tsx | 1 + client/src/pages/CreatePostPage.tsx | 3 +-- client/src/pages/EditPostPage.tsx | 10 +--------- server/routes/post.js | 6 +++--- 4 files changed, 6 insertions(+), 14 deletions(-) diff --git a/client/src/components/CommentInputModule.tsx b/client/src/components/CommentInputModule.tsx index 50a5138..8c5a8ec 100644 --- a/client/src/components/CommentInputModule.tsx +++ b/client/src/components/CommentInputModule.tsx @@ -45,6 +45,7 @@ export default function CommentInputModule() { ); console.log("Comment created succesfully", response.data); resetForm(); // Reset the form after successful submission + window.location.reload(); }; return ( diff --git a/client/src/pages/CreatePostPage.tsx b/client/src/pages/CreatePostPage.tsx index eb533ff..2a6953d 100644 --- a/client/src/pages/CreatePostPage.tsx +++ b/client/src/pages/CreatePostPage.tsx @@ -18,11 +18,10 @@ const validationSchema = Yup.object({ .min(3, "Title must be at least 3 characters") .max(200, "Title must be at most 200 characters") .required("Title is required"), - content: Yup.string() .trim() .min(3, "Content must be at least 3 characters") - .max(500, "Content must be at most 500 characters") + .max(3000, "Content must be at most 3000 characters") .required("Content is required"), postImage: Yup.mixed(), }); diff --git a/client/src/pages/EditPostPage.tsx b/client/src/pages/EditPostPage.tsx index b0649e7..e21833a 100644 --- a/client/src/pages/EditPostPage.tsx +++ b/client/src/pages/EditPostPage.tsx @@ -17,19 +17,11 @@ const validationSchema = Yup.object({ .trim() .min(3, "Title must be at least 3 characters") .max(200, "Title must be at most 200 characters") - .matches( - /^[a-zA-Z0-9\s]+$/, - "Title can only contain letters, numbers, and spaces" - ) .required("Title is required"), content: Yup.string() .trim() .min(3, "Content must be at least 3 characters") - .max(500, "Content must be at most 500 characters") - .matches( - /^[a-zA-Z0-9,\s!"'-]*$/, - "Only letters, numbers, commas, spaces, exclamation marks, quotations, and common symbols are allowed" - ) + .max(3000, "Content must be at most 3000 characters") .required("Content is required"), postImage: Yup.mixed(), }); diff --git a/server/routes/post.js b/server/routes/post.js index c1fdbaf..bad07c1 100644 --- a/server/routes/post.js +++ b/server/routes/post.js @@ -40,9 +40,9 @@ router.post( // Validate request body let validationSchema = yup.object({ title: yup.string().trim().min(3).max(200).required(), - content: yup.string().trim().min(3).max(500).required(), + content: yup.string().trim().min(3).max(3000).required(), userId: yup.string().required(), - postImage: yup.string().trim().max(255), + postImage: yup.mixed(), }); try { data = await validationSchema.validate(data, { abortEarly: false }); @@ -191,7 +191,7 @@ router.put( // Validate request body let validationSchema = yup.object({ title: yup.string().trim().min(3).max(200).required(), - content: yup.string().trim().min(3).max(500).required(), + content: yup.string().trim().min(3).max(3000).required(), postImage: yup.mixed(), });