29 lines
843 B
JavaScript
29 lines
843 B
JavaScript
import { toTypedSchema } from "@vee-validate/zod";
|
|
import { z } from "zod";
|
|
|
|
import { justOneWord } from "..";
|
|
import * as M from "../messages";
|
|
|
|
const questionObjVal = {
|
|
name: z
|
|
.string({ required_error: M.requiredMessage })
|
|
.regex(justOneWord, M.nameMessage),
|
|
surname: z
|
|
.string({ required_error: M.requiredMessage })
|
|
.regex(justOneWord, M.nameMessage),
|
|
email: z.string({ required_error: M.requiredMessage }).email(M.emailMessage),
|
|
phone: z
|
|
.string({ required_error: M.requiredMessage })
|
|
.min(1, M.requiredMessage),
|
|
message: z
|
|
.string({ required_error: M.requiredMessage })
|
|
.min(1, M.requiredMessage),
|
|
terms: z.boolean({ required_error: M.requiredMessage }).refine((val) => {
|
|
return val === true;
|
|
}),
|
|
};
|
|
|
|
export const questionSchema = toTypedSchema(
|
|
z.object(questionObjVal).required()
|
|
);
|