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>
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
- 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);
}