formValidation

The `formValidation` function provides a simple and effective way to validate FormData objects using a Zod schema. It ensures that form data adheres to the schema while returning structured responses for success and error cases.

> formValidation( validationSchema: ZodSchema, formData: FormData ): Promise<ValidationResponse>
Installation

To use this utility, you need to install the zod library. If Zod is not already installed, you can add it to your project with the following command:

npm install zod daily-toolset

Alternatively, if you are using Yarn:

yarn add zod daily-toolset
Parameters
  • validationSchema: A Zod schema used to validate the form data. Must implement safeParseAsync.
  • formData: A FormData object containing the form fields to validate.
  • Returns: A promise resolving to a structured response indicating success and validated form data or validation errors.

Example

import { z } from "zod";
import { formValidation } from "@explita/daily-toolset/form";

const schema = z.object({
    name: z.string(),
    age: z.coerce.number().min(1, "Age must be at least 1")
});

const formData = new FormData();
formData.append("name", "Alice");
formData.append("age", "25");

const result = await formValidation(schema, formData);
if (result.status === "success") { 
console.log("Validated Data:", result.formData); 
} else { 
 console.error("Validation Errors:", result.errorData.errors); 
}