import { z } from 'zod'; /** * Zod email validation schema * Uses Zod's built-in email validation which is more robust than simple regex * Based on: https://zod.dev/api?id=emails */ export const emailSchema = z.string().email(); /** * Validates an email address using Zod * @param email - The email address to validate * @param errorMessage - Optional custom error message (defaults to Zod's message) * @returns true if valid, error message if invalid */ export const validateEmail = (email: string, errorMessage?: string): true | string => { if (!email || email.trim() === '') { return true; } const result = emailSchema.safeParse(email); return ( result.success || errorMessage || result.error.errors[0]?.message || 'Please enter a valid email address' ); };