From c8c5e0db56babc5eef8bbbbc83b8acafd43dff77 Mon Sep 17 00:00:00 2001 From: RachelElysia <71795832+RachelElysia@users.noreply.github.com> Date: Mon, 28 Jun 2021 16:47:00 -0700 Subject: [PATCH] User Settings Page: Add validation for email and full name (#1241) --- .../UserSettingsForm/UserSettingsForm.jsx | 3 ++- .../forms/UserSettingsForm/validate.js | 21 +++++++++++++++++++ 2 files changed, 23 insertions(+), 1 deletion(-) create mode 100644 frontend/components/forms/UserSettingsForm/validate.js diff --git a/frontend/components/forms/UserSettingsForm/UserSettingsForm.jsx b/frontend/components/forms/UserSettingsForm/UserSettingsForm.jsx index 08648e8e98..725e722433 100644 --- a/frontend/components/forms/UserSettingsForm/UserSettingsForm.jsx +++ b/frontend/components/forms/UserSettingsForm/UserSettingsForm.jsx @@ -6,6 +6,7 @@ import Button from "components/buttons/Button"; import Form from "components/forms/Form"; import formFieldInterface from "interfaces/form_field"; import InputField from "components/forms/fields/InputField"; +import validate from "components/forms/UserSettingsForm/validate"; const formFields = ["email", "name", "position", "username"]; @@ -64,4 +65,4 @@ class UserSettingsForm extends Component { } } -export default Form(UserSettingsForm, { fields: formFields }); +export default Form(UserSettingsForm, { fields: formFields, validate }); diff --git a/frontend/components/forms/UserSettingsForm/validate.js b/frontend/components/forms/UserSettingsForm/validate.js new file mode 100644 index 0000000000..07e79f7b55 --- /dev/null +++ b/frontend/components/forms/UserSettingsForm/validate.js @@ -0,0 +1,21 @@ +import { size } from "lodash"; +import validatePresence from "components/forms/validators/validate_presence"; + +const validate = (formData) => { + const errors = {}; + const { email, name } = formData; + + if (!validatePresence(email)) { + errors.email = "Email field must be completed"; + } + + if (!validatePresence(name)) { + errors.name = "Full name field must be completed"; + } + + const valid = !size(errors); + + return { valid, errors }; +}; + +export default validate;