cleanup and added clearFormData

This commit is contained in:
2023-01-24 21:52:58 +10:00
parent e079100cc0
commit 025d5f50f1
2 changed files with 22 additions and 8 deletions

View File

@@ -1,6 +1,5 @@
import { watch } from "vue";
import { formatAusDateToUniversal } from "../helpers/common";
import { parse, parseISO } from "date-fns";
import { parseISO } from "date-fns";
let oldFormData = {};
@@ -254,7 +253,11 @@ const parseValue = (val) => {
return val;
};
const useValidation = (formData, pageRef = null, showMessages = false) => {
export const useValidation = (
formData,
pageRef = null,
showMessages = false
) => {
watch(formData, (newFormData) => {
if (newFormData) {
validateRules(newFormData, false, pageRef, showMessages);
@@ -262,7 +265,7 @@ const useValidation = (formData, pageRef = null, showMessages = false) => {
});
};
const isValidated = (formData, pageRef = null) => {
export const isValidated = (formData, pageRef = null) => {
let result = true;
oldFormData = JSON.parse(JSON.stringify(formData));
@@ -281,11 +284,11 @@ const isValidated = (formData, pageRef = null) => {
return result;
};
const fieldValidate = (fieldData) => {
export const fieldValidate = (fieldData) => {
validateSingle(fieldData);
};
const restParseErrors = (formData, formErrorRef, response) => {
export const restParseErrors = (formData, formErrorRef, response) => {
let foundKeys = false;
if (response.response?.data?.errors) {
@@ -313,4 +316,13 @@ const restParseErrors = (formData, formErrorRef, response) => {
}
};
export { useValidation, isValidated, fieldValidate, restParseErrors };
export const clearFormData = (formData) => {
Object.keys(formData).forEach((key) => {
if ("value" in formData[key]) {
formData[key]["value"] = "";
}
if ("error" in formData[key]) {
formData[key]["error"] = "";
}
});
};

View File

@@ -141,6 +141,7 @@ import {
isValidated,
fieldValidate,
restParseErrors,
clearFormData,
} from "../helpers/validation";
import SMInput from "../components/SMInput.vue";
import SMButton from "../components/SMButton.vue";
@@ -237,7 +238,8 @@ const handleSubscribe = async () => {
captcha_token: captcha,
});
subscribeFormData.email.value = "";
clearFormData(subscribeFormData);
formMessage.type = "success";
formMessage.message = "Your email address has been subscribed.";
}