Skip to content

Commit

Permalink
update validation function
Browse files Browse the repository at this point in the history
  • Loading branch information
gudzsv committed Feb 12, 2024
1 parent ea98886 commit 38fa0e1
Showing 1 changed file with 18 additions and 25 deletions.
43 changes: 18 additions & 25 deletions src/js/2-form.js
Original file line number Diff line number Diff line change
@@ -1,27 +1,28 @@
const formState = 'feedback-form-state';
const from = document.querySelector('.feedback-form');
const formEmail = document.querySelector('[name="email"]');
const formMessage = document.querySelector('[name="message"]');

//** get local storage data
// get local storage data
const localState = JSON.parse(localStorage.getItem(formState));
if (localState) {
//** fill form fields from local storage
// fill form fields from local storage
for (const key of Object.keys(localState)) {
document.querySelector(`[name="${key}"]`).value = localState[key] ?? '';
}
}

//** event to fill in form state object **//
// event to fill in form state object **//
from.addEventListener('input', saveToLocalStorage);

//** save form form data to local storage **//
// save form form data to local storage **//
from.addEventListener('submit', event => {
event.preventDefault();

if (validateForm(event)) {
//** according requirement of Homework 9
console.log('submit', localState);
const formData = new FormData(event.target);
const formDataObj = Object.fromEntries(formData.entries());

if (validateFormFields(formDataObj)) {
// according requirement of Homework 9
console.log('submit', formDataObj);

localStorage.removeItem(formState);
event.target.reset();
Expand All @@ -37,26 +38,18 @@ function saveToLocalStorage(event) {
localStorage.setItem(formState, JSON.stringify(formStateData));
}

function validateForm() {
function validateFormFields(formDataObj) {
let isValid = true;
if (!formEmail.value) {
showError(formEmail);
isValid = false;
}
if (!formMessage.value) {
showError(formMessage);
isValid = false;
} else if (formMessage.value || formEmail.value) {
if (formEmail.value) {
showSuccess(formEmail);
for (const key in formDataObj) {
if (!formDataObj[key]) {
showError(document.querySelector(`[name="${key}"]`));
isValid = false;
}
if (formMessage.value) {
showSuccess(formMessage);
}
if (formEmail.value && formMessage.value) {
isValid = true;
if (formDataObj[key]) {
showSuccess(document.querySelector(`[name="${key}"]`));
}
}

return isValid;
}

Expand Down

0 comments on commit 38fa0e1

Please sign in to comment.