import { z } from "zod" export function phoneValidator( msg = "Required field", invalidMsg = "Invalid type" ) { return z .string({ invalid_type_error: invalidMsg, required_error: msg }) .min(5, { message: "The number you have entered is too short" }) .superRefine((value, ctx) => { if (value) { const containsAlphabeticChars = /[a-z]/gi.test(value) if (containsAlphabeticChars) { ctx.addIssue({ code: z.ZodIssueCode.custom, message: "Please enter a valid phone number", }) } } }) }