implemented tanstack form
This commit is contained in:
@@ -1,3 +1,6 @@
|
||||
import z from "zod";
|
||||
import validator from "validator";
|
||||
|
||||
export interface FormData {
|
||||
firstName: string;
|
||||
lastName: string;
|
||||
@@ -19,3 +22,35 @@ export interface Message {
|
||||
headline: string;
|
||||
text: string;
|
||||
}
|
||||
|
||||
export const createFormSchema = (
|
||||
t: (key: string) => string,
|
||||
invoice: boolean,
|
||||
) =>
|
||||
z.object({
|
||||
firstName: z.string().min(1, t("name-error")),
|
||||
lastName: z.string().min(1, t("name-error")),
|
||||
email: z.email(t("email-error")),
|
||||
phoneNumber: z.string(t("phone-error")).refine(validator.isMobilePhone),
|
||||
tickets: z.number(t("ticket-error")).min(1),
|
||||
companyName: invoice
|
||||
? z.string().min(1, t("name-error"))
|
||||
: z.string().optional(),
|
||||
cmpFirstName: invoice
|
||||
? z.string().min(1, t("name-error"))
|
||||
: z.string().optional(),
|
||||
cpmLastName: invoice
|
||||
? z.string().min(1, t("name-error"))
|
||||
: z.string().optional(),
|
||||
cpmEmail: invoice ? z.email(t("email-error")) : z.string().optional(),
|
||||
cpmPhoneNumber: invoice
|
||||
? z.string(t("phone-error")).refine(validator.isMobilePhone)
|
||||
: z.string().optional(),
|
||||
street: invoice
|
||||
? z.string().min(1, t("name-error"))
|
||||
: z.string().optional(),
|
||||
postalCode: invoice
|
||||
? z.string().min(1, t("name-error"))
|
||||
: z.string().optional(),
|
||||
paymentMethod: z.string().min(1, t("name-error")),
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user